当未指定标头时,Sendmail 无法从本地 PHP 运行

当未指定标头时,Sendmail 无法从本地 PHP 运行

我无法让本地 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 指令和地址需要在一起。即:

[email protected]

和平,汤姆

相关内容