我正在开发一个应用程序,并且一直在测试 PHP 中的 mail() 函数。以下在我的本地机器上工作得很好,可以向我自己发送电子邮件,但是一旦我尝试将它从测试环境发送到我的本地机器,它就会默默地失败。
我仍会收到“已发送邮件”消息,但未发送任何消息。我在 php.ini 文件中打开了邮件日志记录,但在我刷新页面后似乎也没有填充。
同样,.php 文件和 php.ini 文件在两种环境中都是相同的。测试环境开放了25端口,我们使用的是Microsoft Exchange服务器。
<?php
$to = "user@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "user@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
php.ini 文件的 SMTP 区域:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = exhange.server.org
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = user@example.com