尝试使用Microsoft';上配置的电子邮件地址通过PHP发送电子邮件;s SMTP服务器(@live.com、


Trying to send email through PHP using an email address that is configured on Microsoft's SMTP servers (@live.com, @outlook.com, etc.)

我正在尝试通过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. 我知道我无法设置SMTPPHP中的设置-这是否意味着PHP使用自己的SMTP服务器

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服务器的信息。

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

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