我遵循这个答案将域的所有后缀电子邮件输送到PHP脚本-Centos7 7 7/EC2将特定地址的传入邮件直接发送到PHP。
我的别名文件条目如下:
mail-incoming-php: "/usr/bin/php -q /var/spool/mail/php/incoming.php"而后缀虚拟文件将电子邮件地址映射到
mail-incoming-php@localhost我的当前测试PHP脚本被设置为创建一个空文件,我已经测试了该文件。当将邮件发送到有关地址时,PHP脚本不会创建文件,而且maillog包含以下错误:
cannot append message to file /usr/bin/php -q /var/spool/mail/php/incoming.php: cannot create file exclusively: No such file or directory我暂时将PHP脚本的权限设置为777,并获得相同的错误。
也许这不是解决这个问题的最好方法,或者其他一些需要做的事情?
我需要脚本所做的就是读取传入的电子邮件的内容,在此之后不需要转发电子邮件。
发布于 2020-06-19 12:10:19
与链接问题不同的是,您没有将邮件传输到脚本,即
mail-incoming-php: "| /usr/bin/php -q /var/spool/mail/php/incoming.php"由于缺少了试图将(追加)写入文件的|,因此:
/usr/bin/php -q /var/spool/mail/php/incoming.php是无效路径。/usr/bin/php将把消息附加到PHP二进制文件中。 (幸运的是没有许可!)/var/spool/mail/php/incoming.php将附加到脚本中。另外,您不应该拥有全局可写的777脚本,而应该拥有(最多) 755。
https://serverfault.com/questions/1022126
复制相似问题