尝试使用在Microsoft的SMTP服务器(@ live.com,@ outlook.com等)上配置的电子邮件地址通过PHP发送电子邮件

时间:2013-07-31 15:57:42

标签: php html email smtp

我正在尝试通过PHP脚本发送电子邮件。这是应该发送电子邮件的代码行:

mail($owner_email, $subject, $messageBody, $headers)

以下是我的变量设置为:

$owner_email = mike@mikemarks.net

$subject =“Blah”

$messageBody =“Blah”

电子邮件地址mike@mikemarks.net在Microsoft的电子邮件服务器上配置。我有他们的服务器发送和接收电子邮件 - smtp.live.com(传出)。出于某种原因,上述代码行未向mike@mikemarks.net发送电子邮件。

问题

  1. 是否有某些电子邮件服务不适用于PHP的电子邮件 功能,如微软的?
  2. 我明白我无法设置SMTP     PHP中的设置 - 这是否意味着PHP使用自己的SMTP服务器?

2 个答案:

答案 0 :(得分:1)

PHP使用php.ini中指定的SMTP服务器。通常,它是localhost,它使用托管服务器自己的SMTP服务器。检查邮件功能的响应(true / false)以确保电子邮件正在通过,并检查服务器的邮件日志以查看是否存在错误。您可以查看http://www.phpclasses.org/blog/package/9/post/1-Sending-email-using-SMTP-servers-of-Gmail-Hotmail-or-Yahoo-with-PHP.html以获取有关如何将Hotmail用作SMTP服务器的信息。

答案 1 :(得分:1)

没有。 PHP没有自己的smtp服务器。它使用系统默认系统(unix-ish系统)或通过smtp_ * .ini指令配置的系统(Windows)。

如果您使用的是unixish主机,并且想要使用外部SMTP服务器,那么您必须使用真正的库,例如phpmailer或swiftmailer,直接连接到外部服务器。或者,您将本地smtp服务器配置为仅转发服务器,将任何本地发送的电子邮件直接传递给外部服务器。