因此我通过以下方式正确设置了 postfix/imap 的所有内容https://help.ubuntu.com/community/PostfixBasicSetupHowto我可以发送电子邮件至[email protected]
/[email protected]
但是,我尝试发送一封电子邮件,[email protected]
然后将/etc/aliases
其通过管道传输到 php stdin,而我的电子邮件被邮政局长退回。
我在盒子上设置的唯一帐户是root
和fmaster
。如果我只使用测试的别名将输出管道传输到 php,我是否需要创建帐户test
?我不确定我哪里做错了。
我的/etc/aliases
:
# Required aliases
postmaster: root
MAILER-DAEMON: postmaster
# Common aliases
abuse: postmaster
spam: postmaster
# PIPE OUTPUT TO PHP from [email protected]
test: "| php -q /root/scripts/readmail.php
我的重要内容/etc/postfix/main.cg
(域名已隐藏)
myhostname = XYZ.members.linode.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.ME1.com, localhost, ME1.com, ME1.it
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
#mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
那么我的/root/scripts/readmail.php
就是:
$data = file_get_contents('php://stdin');
error_log($data); // just to see if it was successful
有人知道我哪里错了吗?
答案1
首先:确保在管道别名“| /usr/bin/php -q ... etc”中提供 php 的完整路径 - 第二:您确定运行了 newaliases 吗?
该管道命令应该可以工作,因为我使用了与完整路径部分相同的内容。