我正在尝试在Symfony 4.4应用中发送电子邮件,同时尝试了Mailer和SwiftMailer。
该应用程序在具有共享端口80和3306的Docker容器中运行。
如果我尝试使用SwiftMailer的控制台命令,我会得到这个:
bin/console swiftmailer:email:send [email protected] [email protected] --subject=hi --body=hi
[[确定] 1封电子邮件已成功发送。
一段时间后我得到:
错误[app]]刷新电子邮件队列时发生异常:预期响应代码250,但得到代码“ 554”,并显示消息“ 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied;由于永久异常而无法处理消息带有消息无法提交消息。[主机名= XXXX.eurprd04.prod.outlook.com]
[在Mailer和SwiftMailer中,其他电子邮件提供商也会发生这种情况,并且两者都发生。
我从服务提供商(在本例中为Outlook)收到(错误)响应的事实,使我认为这不是端口问题,因为电子邮件确实到达了提供商。
有什么想法吗?我对此深感困惑。
谢谢。
这是一个Outlook365问题,您的身份验证帐户与From
地址不同,除非您明确授予这样做的权限,否则这是禁止的。
您需要grant SendAs
permission或SendAs
。以您的示例为例,您需要按照SendOnBehalf
中的配置在[email protected]
上设置权限并将其授予[email protected]
。
您需要对要env
代表发送的每个邮箱执行此操作。
要检查配置,您可以以authuser
的身份访问Office 365,并在撰写新电子邮件时尝试更改authuser
地址。您将看到所有已授予该用户权限的地址。