我正在尝试设置 PHPMailer,以便我们的一位客户能够从他们自己的帐户中自动生成电子邮件。我登录了他们的Of fice 365帐户,发现PHPMailer所需的设置是:
Host: smtp.off ice365.com Port: 587 Auth: tls
我已将这些设置应用于 PHPMailer,但是没有发送电子邮件(我调用的函数适用于我们自己的邮件,该邮件是从外部服务器(不是服务网页的服务器)发送的)。
"host" => "smtp.of fice365.com", "port" => 587, "auth" => true, "secure" => "tls", "username" => "clientemail@off ice365.com", "password" => "clientpass", "to" => "myemail", "from" => "clientemail@of fice365.com", "fromname" => "clientname", "subject" => $subject, "body" => $body, "altbody" => $body, "message" => "", "debug" => false
有谁知道PHPMailer通过smtp.offi ce365.com发送需要什么设置?
更新:2022 年 5 月
所以我在这个问题上苦苦挣扎。对于具有 Exchange Online 和 Microsoft 管理中心访问权限的企业帐户,我可以提供此问题的答案。
TLDR:转到管理中心并选择您要发送邮件的用户。然后在设置“经过身份验证的 SMTP”之后查看“电子邮件”和“电子邮件应用程序”后的设置,只需启用它即可。
仍然无法工作?我已经为您提供了帮助,这就是我如何让它完全发挥作用。
如果您使用 MFA,请确保使用 https://stackoverflow.com/ 中提到的应用密码a/61359150/14148981
运行脚本
我希望这对某人有帮助。我花了很长时间才找到这个选项。
获取应用密码和身份验证的所有步骤摘要:
@nitin 的代码对我不起作用,因为它在 SMTPSecure 参数中缺少“tls”。
这是一个工作版本。我还添加了两行注释掉的行,您可以在出现问题时使用它们。