【发布时间】:2014-09-16 19:38:41
【问题描述】:
我正在尝试设置 PHPMailer,以便我们的一位客户能够让自动生成的电子邮件来自他们自己的帐户。我已经登录了他们的 Office 365 账户,发现 PHPMailer 所需的设置是:
Host: smtp.office365.com
Port: 587
Auth: tls
我已将这些设置应用到 PHPMailer,但是没有发送电子邮件(我调用的函数适用于我们自己的邮件,该邮件是从外部服务器(不是为网页提供服务的服务器)发送的)。
"host" => "smtp.office365.com",
"port" => 587,
"auth" => true,
"secure" => "tls",
"username" => "clientemail@office365.com",
"password" => "clientpass",
"to" => "myemail",
"from" => "clientemail@office365.com",
"fromname" => "clientname",
"subject" => $subject,
"body" => $body,
"altbody" => $body,
"message" => "",
"debug" => false
有谁知道通过 smtp.office365.com 发送 PHPMailer 需要哪些设置?
【问题讨论】:
-
phpmail错误函数返回什么?
-
@Dagon 没什么,我的 apache 崩溃并开始在端口 43 和 56252 或附近的端口上提供服务。
-
您的设置看起来不错,但您需要查看错误代码,否则我们无法为您提供帮助,如果您发布实际代码会有所帮助。从您的测试中消除 Apache - 从命令行运行脚本并设置
SMTPDebug = 3以获取 SMTP 脚本。 Office 365 SMTP 不可靠 - 我有几个关于它失败的报告。 -
要检查的另一件事是您的 smtp 服务器实际上已打开,否则 php 将无法通过 smtp 发送任何电子邮件。例如。如果你在 debian/ubuntu 中使用
postfix:ps aux | grep postfix,如果没有输出:sudo /etc/init.d/postfix start。您还可以查看未送达的电子邮件,如下所示:sudo mailq。如果正在发送电子邮件,这将为空。
标签: php email ssl phpmailer office365