微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Contao> 4.3在某些提供程序上发送带有sendmail的电子邮件会引发错误

如何解决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 举报,一经查实,本站将立刻删除。