2

我想从我的 PHP 应用程序发送一封电子邮件。为此,我在 Windows server 2008 上的 IIS 中设置了我的网站。我可以安装 Windows SMTP 服务器吗?

然后我创建一个测试页面来发送电子邮件:

<?php
  Ini_set ('SMTP', 'localhost');
  Ini_set ('sendmail_from', 'myEmailTest@local.com');

  $to = 'myEmailTest@ExternalDomain.com';
  $subject = 'Example subject';
  $body = 'body ... With an example';

  if(mail($to, $subject, $body)){
     echo "Successful";
  }else{
     echo "Error";
  }
?>

我还在 IIS 中配置 php.ini 和 SMTP 电子邮件,如下所示:

[Mail function]
smtp = localhost
smtp_port = 25

然后我测试发送我的邮件。当我将电子邮件发送到本地域的电子邮件地址到本地域中的另一个电子邮件地址时。我返回我的页面“成功”,电子邮件进入文件夹:

C:\inetpub\mailroot\Drop

不利的是,如果我从本地域电子邮件地址中的电子邮件地址向外部域 (@hotmail.com) 发送电子邮件。我的页面返回“错误”并且没有任何反应。

我查看了我的 SMTP 服务器的日志文件,但没有错误消息。

你能帮助我吗?

4

2 回答 2

1

我成功地前进了一步。现在,当我从本地域的电子邮件地址发送电子邮件到外部域的电子邮件地址(@hotmail.com)时,邮件被发送到我的 PHP 页面,它被卡在队列中C:\inetpub\mailroot\Queue.

有谁知道是什么问题?

谢谢

于 2013-02-07T09:58:13.273 回答
0

如果您的页面返回错误(很可能是 500),那么您需要查看与 SMTP 错误日志分开的 PHP 错误日志。请让我们知道您的发现,因为在尝试执行 php 邮件功能时遇到的任何错误都会显示在这些日志中。

于 2013-02-06T10:20:44.797 回答