Symfony Mailer配置异常:替换Swiftmailer后无法发送邮件求助
问题:Symfony Mailer替换Swiftmailer后无法通过smtp4dev发送邮件
此前使用Swiftmailer时,邮件可正常被smtp4dev捕获,但替换为Symfony Mailer(因Swiftmailer已废弃)后始终无法成功发送邮件。
平台环境
- Windows 10
- Symfony 4.4
- smtp4dev监听25端口
当前mailer.yaml配置
framework: mailer: dsn: 'smtp://localhost'
报错信息
stream_socket_enable_crypto(): SSL: An established connection was aborted by the software in your host machine.
解决方案
问题根源是Symfony Mailer的默认行为:它对smtp://协议的连接默认会尝试启用STARTTLS加密,但smtp4dev在25端口并未配置SSL/STARTTLS支持,导致连接被中止。
修改mailer.yaml中的DSN,明确指定端口25并关闭加密:
framework: mailer: dsn: 'smtp://localhost:25?encryption=none'
配置完成后,Symfony Mailer会以未加密方式连接smtp4dev的25端口,即可恢复之前Swiftmailer的正常邮件捕获功能。
内容的提问来源于stack exchange,提问作者CJ Dennis
相关产品推荐
相关产品推荐

