有站长反映说,最近用户使用找回密码功能,收不到验证邮件。看了下用户的后台,填写的资料都没什么问题,但是邮件测试发送就是失败,日志显示如下:
array ( 'error' => 'Called Mail() without being connected', )
用户后台配置如下:
使用的是第三方smtp服务。服务器使用的是阿里云,由于阿里云为了防止用户使用服务器发送邮件,已经禁用了25端口,所以基本上没办法使用服务器本身的sendmail发送邮件了。现在普遍都是使用第三方smtp服务来转发邮件。
问题就出现了这里,smtp服务通常有普通发送和加密方式两种方式,加密传输即使用ssl协议发送邮件。目前,国内绝大多数的邮件服务提供商都提倡使用ssl方式发送邮件。加密传输的端口通常为465或者587。
测试发现,在阿里云上使用腾讯邮箱的465端口已经无法正常转发邮件,就算到阿里云后台开放了端口也依然如此。至于到底是阿里封禁了465还是腾讯停用了465,就不得而知了。
既然465端口无法使用,那就换成587,问题果然解决。
测试邮件成功接收到邮件。
最后,希望本文能帮助到你!