我做了一个小的测试php脚本,它发送如下电子邮件:
$headers = 'From: ' . $_POST["from"];
if (mail ($_POST["to"], $_POST["subject"], $_POST["body"], $headers)) {
echo "Mail sent";
} else {
echo "Problem sending email";
}
在带有Postfix的服务器上,这可以正常工作。
尝试使用msmtp时,它将忽略From并抱怨:
msmtp:来自/ etc / msmtprc的帐户默认值:缺少来自信封的地址
配置文件的内容是:
# cat /etc/msmtprc
account default
host localhost
port 25
我试图在该文件中设置一个from,并且可以正常工作,但是覆盖了我在php中传递的From。
谢谢你的帮助
我找到了。
这里的文档说https://wiki.archlinux.org/index.php/Msmtp#Send_mail_with_PHP_using_msmtp:
在您的php.ini中寻找sendmail_path选项,并进行如下编辑:
sendmail_path = "/usr/bin/msmtp -C /path/to/your/config -t"
当然哪个不起作用。在查看了可能的论点之后,我发现了可行的论点:
sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -t --read-envelope-from"
干杯
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句