0

我正在尝试使用 PHP 中的 MAIL() 函数来发送电子邮件通知。

所以这就是我如何使用它。

$to      = 'email@address.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

这是我得到的

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() 

但它不发送。我不确定我的服务器是否正确配置,以便邮件功能正常工作。我在 Windows Server 2008 R2 上运行 PHP 5.3.19

我的问题是如何确保服务器配置正确以发送电子邮件?我怎样才能将消息追踪到我可以看到为什么它没有对目标个人起作用?

谢谢

4

1 回答 1

0

在 Windows 上工作时,必须将 PHP 配置为通过 SMTP 服务器发送电子邮件。默认情况下,使用 localhost。请参阅PHP 文档,了解如何更改 php.ini 设置以更改您的 SMTP 信息。

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

我相信你可以安装 IIS7 SMTP,但我自己从来没有使用过,所以我可能是错的(我使用 Exchange 或 linux 盒子来满足我的 SMTP 需求)。不管你做什么,确保你配置它以确保它不是一个开放的中继和/或防火墙它只到本地主机。

编辑:iis.net 上的这篇文章可能会有所帮助。

于 2013-05-23T23:31:03.893 回答