我目前在我的桌面(OS X 10.6.7)上运行着 php,能够通过在 /etc/postfix 中将“relayhost”设置为我的 ISP 并在 /etc/postfix/relay_password 中有一个条目,通过 mail() 函数发送电子邮件。
我希望发生的情况是(因为这是一台开发计算机)所有通过 PHP 的 mail() 函数发送的电子邮件都只传递到一个外部地址(这样它就会显示在我的 Mail.app 收件箱中)。
在 /usr/local/lib/php.ini 中我尝试设置“sendmail_path = sendmail -i $email”,但它仍然被传送到 php 脚本中对 mail() 的调用中指定的地址。
我见过如何将所有外发电子邮件从 Postfix 重定向到单个地址以进行测试,但这对我没有帮助。
答案1
您可以尝试以下操作:
recipient_canonical_maps = pcre:/etc/postfix/recipient_canonical.pcre
然后放入一个 catch-all /etc/postfix/recipient_canonical.pcre
:
/.*/ [email protected]
答案2
为可执行文件或其当前使用的等效文件编写一个包装器sendmail
,重写目标,并将脚本路径放入sendmail_path
。