我已经按照这个答案将域的所有 Postfix 电子邮件通过管道传输到 PHP 脚本 - Centos7/EC2以将特定地址的传入邮件定向到 PHP 脚本。
我的别名文件条目如下所示:
mail-incoming-php: "/usr/bin/php -q /var/spool/mail/php/incoming.php"
Postfix 虚拟文件将电子邮件地址映射到
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 并得到相同的错误。
也许这不是解决这个问题或其他需要做的事情的最佳方法?
我需要脚本做的就是阅读收到的电子邮件的内容,之后不必转发电子邮件。
与链接的问题不同,您没有将邮件传送到脚本,即
因为您错过了
|
您正在尝试写入(追加)到文件的内容,所以:/usr/bin/php -q /var/spool/mail/php/incoming.php
是无效路径。/usr/bin/php
会将消息附加到 PHP 二进制文件中。(幸运的是,没有许可!)
/var/spool/mail/php/incoming.php
将附加到脚本中。此外,您不应该让脚本全局可写
777
,而是(最多)755
。