Symfony邮件未发送仅存入messenger_messages表如何解决?
Symfony邮件存入messenger_messages未发送的解决办法
方案1:运行Messenger消费进程(推荐生产环境使用)
- 在项目根目录的终端执行命令:
symfony console messenger:consume async -vv - 该命令会启动常驻进程,自动读取
messenger_messages表中的邮件任务并执行发送 - 生产环境需借助Supervisor等工具维持进程常驻,避免意外中断
方案2:改为同步发送邮件(适合开发调试)
- 方法一:修改
.env配置,确保邮件消息不使用异步传输,调整MESSENGER_TRANSPORT_DSN相关规则 - 方法二:修改
config/packages/messenger.yaml的路由配置:framework: messenger: routing: Symfony\Component\Mailer\Messenger\SendEmailMessage: sync - 配置生效后,邮件会在注册请求流程中直接发送,不再存入数据库
内容的提问来源于stack exchange,提问作者boss.rus
相关产品推荐
相关产品推荐

