Symfony Mailer AWS 负载均衡器

Symfony Mailer AWS Load Balancer

提问人:rls125 提问时间:6/19/2023 更新时间:6/19/2023 访问量:37

问:

我有一个php应用程序,它使用Symfony Mailer 5.4.0向客户和供应商发送电子邮件,其中包含发票和采购订单等附件。电子邮件已成功发送和接收。发送邮件任务完成后,系统应返回到上一屏幕,并显示一条信息性消息,通知用户电子邮件已发送。这在通过其 IP 地址直接访问的服务器上的测试环境中完美运行。我遇到的问题是在负载均衡器后面的 Amazon VPC 中运行的实例。在该服务器上,电子邮件成功发送,但随后会向用户显示一个空白屏幕,并且必须重新登录系统才能继续工作。它似乎在显示屏幕之前超时,但我没有收到 http 通知或错误。我发现了很多关于如何设置Symfony框架以在负载均衡器后面运行的帖子,主要是关于将其配置为信任代理,但我们没有使用该框架,而只使用Mailer。我有一张关于此的 AWS 票证。任何帮助/建议将不胜感激。

我有一个配置文件,其中包含我们正在使用的 O365 电子邮件帐户的登录信息。我在各种论坛中找到的所有内容都包括将框架设置为信任代理的代码,但 Mailer 配置中不存在引用的文件夹。

php symfony 邮件程序

评论

0赞 Chris Haas 6/19/2023
“但是,用户随后会看到一个空白屏幕” - 空白屏幕通常意味着PHP错误,您是否检查过日志?如果电子邮件在 PROD 上成功发送,我的直觉会告诉我 Mailer 工作正常,任何配置都不会影响您的问题,您可能需要在其他地方寻找问题。
0赞 Community 6/20/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。
0赞 Evgeny Ruban 6/20/2023
我认为从一开始就等待邮件程序何时结束其工作并不是一个好主意。IMO,更好的解决方案是发送消息(使用信使组件)并异步发送电子邮件,而不会对用户体验产生任何影响

答: 暂无答案