我无法让本地 XAMPP 服务器通过远程 SMTP 服务器发送电子邮件。
在 PHP 中,如果我输入:
$headers = "From: [email protected]\r\n";
mail('[email protected]', 'test', '', $headers);
然后就可以了。但是,如果我不指定标题,即:
mail('[email protected]', 'test', '');
然后失败了。sendmail.log 文件显示:
smtpstatus=554 smtpmsg='554 Message refused.' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE
我尝试将 php.ini 中的 sendmail 命令更改为:
sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -f [email protected]"
但这也不起作用。
谢谢您的帮助,丹。
附言:这是在 Windows 上。
答案1
来自PHP 邮件()文档:
发送邮件时,邮件必须包含发件人标头。这可以通过 additional_headers 参数设置,也可以在 php.ini 中设置默认值。
就您的 sendmail 命令行而言,我相信 -f 指令和地址需要在一起。即:
和平,汤姆