Symfony 发送邮件错误(Mailer 和 SwiftMailer)

Symfony send mail error (Mailer and SwiftMailer)

我正在尝试在我的 Symfony 4.4 应用程序中发送电子邮件,我尝试了 Mailer 和 SwiftMailer。

该应用程序 运行 在 Docker 容器内,共享端口 80 和 3306。

如果我尝试使用 SwiftMailer 的控制台命令,我会得到:

bin/console swiftmailer:email:send --from=ex@example.com --to=ex@example.com --subject=hi --body=hi

[OK] 1 emails were successfully sent.

过了一会儿我得到:

ERROR [app] Exception occurred while flushing email queue: Expected response code 250 but got code "554", with message "554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message. [Hostname=XXXX.eurprd04.prod.outlook.com]

在 Mailer 和 SwiftMailer 中,其他电子邮件提供商也会发生这种情况。

我从服务提供商(本例中为 Outlook)收到(错误)响应这一事实让我认为这不是端口问题,因为电子邮件确实到达了提供商。

有什么想法吗?我完全坚持这一点。

谢谢。

这是outlook365的问题,你的认证账号和From地址不一样,除非你明确授权,否则这是被禁止的。

您可以使用与您用于验证的帐户相同的 From 地址轻松解决此问题。否则,您将需要 grant SendAs permissionSendOnBehalf

根据您的示例,您需要设置 ex@example.com 邮箱的权限,并按照 env.

中的配置将其授予 authuser@example.com 用户

您需要对尽可能多的邮箱执行此操作,以便 authuser 能够发送邮件。

要检查配置,您可以作为 authuser 访问 Office 365,并在撰写新电子邮件时尝试更改 From 地址。您应该会看到已授予该用户权限的所有地址。