【发布时间】:2023-03-21 00:27:01
【问题描述】:
SwiftMailer 是从 Symfony 2 项目发送电子邮件的默认方式,我想在应用程序中使用它。我已将其指向我的互联网提供商(英国的 Virgin Media)提供的 SMTP 服务器,但我的电子邮件未成功发送。抛出的异常说
预期的响应代码为 250,但得到代码“501”,消息为“501 HELO 需要有效地址
响应 SMTP 命令
HELO [::1]
[::1] 对应于 IPv6 中的 localhost,如果 SMTP 服务器期望正确的域名,它会拒绝它也就不足为奇了。通过Swiftmailer源码跟踪执行,发现这个值来自AbstractSmtpTransport上的_domain;在调试会话期间更改值允许发送电子邮件。虽然它可以使用公共的 setLocalDomain() 方法设置,但它不在 Symfony 2 框架中的任何地方,所以似乎没有办法(至少对我来说很明显)简单地配置这个值,例如,更改 Symfony 配置文件。
所以我的问题是:有没有其他方法可以改变这个值,最好是使用配置,而不需要深入研究 Symfony 代码并改变不应该改变的位?如果有,是什么?
【问题讨论】:
-
这个问题已经解决了将近 4 年...等待发布..
-
[喘气] 太棒了! :)
标签: php symfony swiftmailer