我最近发布了一个设置邮件服务器postfix和虚拟别名的问题。 我在这里解决了这个问题:
Postfix / Dovecot – 多个域和多个Linux帐户
总结一下,我把myorigin设置为localhost,还有一些设置。 通过SMTP发送和接收邮件效果很好! 但是,当从/usr/sbin/sendmail发送邮件,即PHP的mail()命令时,它以某种方式忽略From:标题,而是抓取myorigin值。
以下是重要的标题:
From: Me <[email protected]> Return-path: <root@localhost> Received: from example.org (example.org [104.xxx.xxx.xxx]) by mx.google.com with ESMTPS... Received-SPF: neutral (google.com: 104.xxx.xxx.xxx is neither permitted nor denied by best guess record for domain of root@localhost) client-ip=104.xxx.xxx.xxx;
当我将myorigin更改为example.org所有的东西都可以很好地发送到PHP,但是完全消除了我以任何方式接收和发送邮件的能力。 所以这不是一个真正的解决scheme。
所以我想要做的是告诉/usr/sbin/sendmail不使用myorigin ,而是使用/etc/mailname JUST FOR PHP 。 我想在其他地方保留postfix的电子邮件。
这可能吗?
谢谢。
好的,也许我在发表这个问题时有些仓促。 事实certificate,这工作很好:
/usr/sbin/sendmail -i -t -f [email protected]
所以,真正的解决scheme是使用的
mail.force_extra_parameters标志,并将其设置为[email protected]
只要确保你不使用cli php.initesting,期待Apache的php.ini工作。 啧。