Ich versuche, PHPMailer so einzurichten, dass einer unserer Kunden automatisch E-Mails von seinem eigenen Konto generieren kann. Ich habe mich bei ihrem Office 365-Konto angemeldet und festgestellt, dass die erforderlichen Einstellungen für PHPMailer sind:
Host: smtp.off ice365.com Port: 587 Auth: tls
Ich habe diese Einstellungen auf PHPMailer angewendet, aber es werden keine E-Mails gesendet (die Funktion, die ich aufrufe, ist für unsere eigenen E-Mails, die von einem externen Server gesendet werden (nicht dem, der die Webseite bedient)).
"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
Weiß jemand, welche Einstellungen erforderlich sind, damit PHPMailer über smtp.offi ce365.com senden kann?
更新:2022 年 5 月
所以我在这个问题上苦苦挣扎。对于具有 Exchange Online 和 Microsoft 管理中心访问权限的企业帐户,我可以提供此问题的答案。
TLDR:转到管理中心并选择您要发送邮件的用户。然后在设置“经过身份验证的 SMTP”之后查看“电子邮件”和“电子邮件应用程序”后的设置,只需启用它即可。
仍然无法工作?我已经为您提供了帮助,这就是我如何让它完全发挥作用。
如果您使用 MFA,请确保使用 https://stackoverflow.com/ 中提到的应用密码a/61359150/14148981
运行脚本
我希望这对某人有帮助。我花了很长时间才找到这个选项。
获取应用密码和身份验证的所有步骤摘要:
@nitin 的代码对我不起作用,因为它在 SMTPSecure 参数中缺少“tls”。
这是一个工作版本。我还添加了两行注释掉的行,您可以在出现问题时使用它们。