易捷论坛最近遇到了一个问题 -- 邮箱验证失败。
也不能说是邮箱验证失败吧,本来我是用的网易企业邮箱,做为发件人,邮箱为 bbs#vxia.net
在网上看教程,都说是 通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证) ,我也就跟着这样设置,而且设置了很长时间,才把邮箱件发送成功。
但是会员在论坛中,申请验证邮箱的时候,发送太慢!我专门注意了,需要半分钟左右,才能把邮箱发过去。在这个注重速度和效率的年代,肯定会被淘汰!
所以我又找其它的方法,用网易企业邮箱慢,用其它的怎么样,又打算用腾讯企业邮箱,结果因为手机号之前注册过,这次申请很长时间都没成功,所以又把腾讯企业邮箱放弃了。
不过我注意到一个细节:在后台设置 -- 站长 -- 邮件设置 有一个 通过 PHP 函数的 sendmail 发送(推荐此方式)
注意,是论坛官方推荐此方式。在网上查了查,这个适用于虚拟主机,而我用的就是景安的虚拟主机,我就试下吧。
把这个设置之后,直接提交了,然后再测试下,发送邮件速度很快!发送邮件速度比之前设置网易企业邮箱的快多了!而且可发送邮箱验证信息。
但是又有问题出来了,设置之后,有会员反应,不能收到或不能成功验证。自己又重新测试,发现用网易企业邮箱和用sendmail 发送的验证信息,有些不同,我总结下来了:
http://bbs.vxia.net/home.php?mod=misc&ac=emailcheck&hash=********
后面的HASH值不同,所以在验证的时候,提示验证不成功。
一直在找方法解决这个问题,最后没办法了,我又试了这个方法:通过 PHP 函数 SMTP 发送 Email(仅 Windows 主机下有效,不支持 ESMTP 验证)
本来我以为是不能成功的,因为我的服务器是Linux 主机。
我试了下,然后在后面的检测中,发现测试发送正常。
再测试链接,邮箱验证正常!而且发送速度也比较快!
最后总结下:
DZ论坛邮件发送方式,这三种都可以试下,看看自己的服务器,到底适合哪种设置!
发布这篇文章,主要目的是:在网上我找这个问题解决方法的时候,发现很多站长朋友都遇到这个问题,但是解决方法却都没有。希望我的这个方法,能够帮助到一些站长朋友。
2017-10-22 更新:
如果是阿里云虚拟主机:
云主机控制台--》管理--》高级环境设置--》php.ini参数设置
确定:PHP函数fsockopen设置 的状态为打开。