Php
通過 PHP 腳本執行傳入的郵件 - Postfix
我已經按照這個答案將域的所有 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 並得到相同的錯誤。
也許這不是解決這個問題或其他需要做的事情的最佳方法?
我需要腳本做的就是閱讀收到的電子郵件的內容,之後不必轉發電子郵件。
與連結的問題不同,您沒有將郵件傳送到腳本,即
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
。