Php
Postfix 不會通過別名文件傳送到 PHP 文件
我正在嘗試從後綴管道到命令。根據 Postfix 日誌它可以工作,但是當我檢查命令時它沒有。這是一個全新的 postfix 安裝。這是我的別名文件:
# See man 5 aliases for format postmaster: root support: "| /usr/bin/php -q /var/www/pipe/pipe.php"
我執行
sendmail support@mydomain.com
然後鍵入它,然後在單獨的行類型上執行.
它。我檢查了後綴日誌/var/log/mail.log
,這就是它所說的:Nov 2 15:32:33 server3 postfix/local[13284]: 42C429E0B5: to=<support@mydomain.com>, relay=local, delay=156, delays=156/0.01/0/0.05, dsn=2.0.0, status=sent (delivered to command: /usr/bin/php -q /var/www/pipe/pipe.php)
所以根據它的工作,但它沒有。如果我執行
echo 'text' | /usr/bin/php -q /var/www/pipe/pipe.php
它確實工作得很好。任何想法我做錯了什麼?
我知道管道正在工作,我最初通過執行上面不帶引號的命令來檢查它,所以
support: | /usr/bin/php -q /var/www/pipe/pipe.php
它所做的只是將我的電子郵件標題和所有內容附加到文件 pipe.php。所以我知道後綴正在管道它,但是當我加上引號時它說它正在執行,但它不符合我的腳本。
我的
/etc/postfix/main.cf
文件中只失去了一行。default_privs = www-data
這很奇怪,因為我嘗試將文件作為 777 執行,所以理論上它應該可以工作。哦,好吧,它現在是這樣工作的。因此,簡而言之,設置文件所有者的權限,因為 Postfix 預設為 user
nobody
。