如何解决Contao> 4.3在某些提供程序上发送带有sendmail的电子邮件会引发错误
Contao的较旧版本(直到4.3)可以通过sendmail发送电子邮件,按预期方式工作。 升级到Contao 4.9后,我在诸如1u1 / ionos或mittwald的提供程序中遇到了一些错误。
日志中的错误听起来像:
“预期的响应代码为220,但响应为空”
从服务器的CLI发送邮件(意味着如果通过SSH登录,则表示发送邮件的工作方式与预期的一样:sendmail test” |
/ usr / sbin / sendmail -t -v -f sender@domain.com reciepient@otherone.com
解决方法
解决方案是将其添加到 config / config.yml
swiftmailer:
default_mailer: default
mailers:
default:
url: '%env(MAILER_URL)%'
transport: sendmail
command: '/usr/sbin/sendmail -t -i'
然后,清除Contao缓存(例如,通过contao-manager.phar)并尝试一下。
该问题的原因是,默认情况下,swiftMailer使用sendmail -bs
作为命令,这意味着sendmail作为standalone
服务运行。
根据提供者配置它的sendmail的方式,这将是导致错误的原因。
如果将symfony/swiftmailer-bundle
更新为版本 3.5.0 ,则将从PHP配置中读取用于sendmail
命令的默认值。参见https://github.com/symfony/swiftmailer-bundle/pull/302
因此,只要您的托管环境的PHP配置在sendmail_path
中包含正确的命令,发送电子邮件就可以正常进行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。