You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过自定义Node SMTP服务器发邮件,SSL验证失败如何绕过?

解决Symfony 4.4绕过本地Node SMTP服务器SSL验证的问题

核心问题是你的Symfony Mailer默认尝试使用加密连接,但Node SMTP服务器未配置TLS/SSL,触发了证书验证失败。以下是可行的解决方法:

方法1:在DSN中明确指定不使用加密并关闭验证

修改config/packages/dev/mailer.yaml的DSN,添加加密方式与验证关闭参数:

dsn: 'smtp://mydemo:mysuperpassword@host.docker.internal:2525?encryption=none&verify_peer=false&verify_peer_name=false'
  • encryption=none:强制Symfony跳过SSL/TLS加密流程,从根源避免验证逻辑触发
  • verify_peer=false + verify_peer_name=false:双重关闭证书相关验证,覆盖残留的默认校验规则

方法2:通过stream_options强制关闭SSL验证

如果DSN参数无效,直接在Mailer配置中添加stream上下文选项,彻底禁用SSL验证:

framework:
    mailer:
        dsn: 'smtp://mydemo:mysuperpassword@host.docker.internal:2525'
        stream_options:
            ssl:
                verify_peer: false
                verify_peer_name: false
                allow_self_signed: true

该配置直接作用于PHP的stream底层,完全关闭所有SSL证书验证环节,适合本地开发场景使用。

额外检查

确认你的Node SMTP服务器没有强制要求TLS连接,比如检查服务器代码中是否存在requireTLS: true或强制启用STARTTLS的配置。若服务器强制要求加密,即使Symfony关闭验证也会报错,此时需修改Node服务器配置,允许非加密连接。

内容的提问来源于stack exchange,提问作者Zeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:50:26