我到处都看了一眼,但我找不到问题的解决方法。有几个月,我的电子邮件在OVH上使用这种配置在我的网站上运行良好(Symfony / Swift_Mailer):
mailer_transport: smtp
mailer_auth_mode: login
mailer_host: ssl0.ovh.net
mailer_port: 587
mailer_user: postmaster@centreinstantpresent.fr
mailer_password: *******
此配置在本地仍然运行良好,但在我的网站上不再适用(共享主机,2014年人们提供)。
介于两者之间,我确实在OVH上提出了从几年到2014年的个人提议,我认为我确实接受了IPv6(但我不记得以前是否这样)+ I传递给PHP 5.6。
我尝试了不同的东西,例如将邮件程序主机ns0.ovh.net更改为ss0.ovh.net,我尝试了其他端口等,没有任何效果。我一直得到的错误是:
无法与主机ssl0.ovh.net建立连接[连接时间超时#110]
和沉默错误(Symfony的Profiler):
stream_socket_client():无法连接到ssl0.ovh.net:25(连接超时)
我已经打电话给OVH的客户服务部门告诉我,一切都对他们有用,而且它来自我的代码,但是一切都在当地有效,所以我有点卡住了。
它是否有可能来自PHP的版本(在Apache的本地7和Symfony的composer.json中写的是:" php":"> = 5.5.9"在OVH上我有5.6)? 或者从IPv6中,我读到了一些文章,这些文章讨论了因此而导致连接超时的可能性。 或OVH的服务DNSSEC?
我很少迷失在这一切中,我无法告诉它什么时候不再工作,因为通过建立一个我发现问题的新网站,所以很难说出它可以来自哪些操纵,因为我知道我之前在旧网站上做的任何改变都没有改变。
感谢您的帮助。
答案 0 :(得分:4)
我终于找到了解决方案,看起来它来自于OVH的共享主机不支持smtp这一事实,因此我们需要使用transport:mail。 smtp之前正在工作,所以我猜它来自2014年人们提供的更新,但我无法确认。
无论如何,如果它可以帮助其他人,你需要替换你的文件parameters.yml中的所有配置(在Symfony中):
mailer_transport: smtp mailer_auth_mode: login mailer_host: ssl0.ovh.net mailer_port: 587 mailer_user: postmaster@centreinstantpresent.fr (your email address) mailer_password: ******* (your password)
简单地说:
mailer_transport: mail
并将config.yml文件中的所有其他参数也放弃。并且您不再需要您的电子邮件地址来传递将通过OVH地址的电子邮件。
因此,在本地,您可以保留第一个配置,但是当您的网站位于OVH的共享主机上时,只需使用邮件传输。