Discuz X3.4配置smtp邮件发送一直失败的解决方法(以gmail为例)
-
今天帮一兄弟解决服务器discuz不能发邮件的问题,之前也有人找我帮忙解决,现在把解决思路写出来
以下是网络上的一些说法,全部试过都没有用:
网络说法一:
discuz 的smtp是通过php
fsocketopen
的方式发邮件的,确定一下php是否支持fsocketopen的函数,有可能php中禁用了这个函数
发邮件的代码在source/function/function_mail.php
,比对错误日志看一下发邮件的代码执行到哪一步出现错误
发邮件的错误日志在data/log
目录下,比如文件名201705_SMTP.php
检查discuz后台的邮件配置
这里要注意smtp配置的域名是ssl://smtp.qq.com
可是我的php没有禁用这个函数
网络说法二:
自从网站从discuz 3.4升级到3.5后,由于自己技术水平有限,遇到的小麻烦不断,其中有一个问题,困扰我了1个多月,直到今天才算彻底解决,具体是怎么回事呢?就是3.4的时候能够正常发邮件,3.5居然不能发邮件了!设置都没有动过啊,原因出在哪里呢?
查了日志文件,也只是显示很简单的一句话:CONNECT - Unable to connect to the SMTP server!其他信息都没有!于是怀疑是新版本的BUG,一直没管他,直到今天再次测试,还是不行,那就要想办法了。先看后台的设置,妥妥的没有问题,以前一直是这样,发邮件好好的。现在却不行,是怎么道理?
测试时出现的提示就是这样:邮件发送返回错误信息,然后啥也没了。我百度了很久,各种攻略都看完了,甚至还检查了服务器各项配置、网关之类,统统无效!真就奇了怪了!最后抱着试试看的心态,准备自己电脑上测试一下。
打开后台设置,添加邮箱时发现了一个问题:本地新添加时有超时30秒的默认项,而我网站后面的超时项里面没有设置数值!我一想,会不会设置项没有数据,系统就将空白的超时时间转换成了0,远程服务器来不及反应就超时返回抛出错误了?于是我填写了30,保存后再测试发邮件。
果然,与前面的不同,停顿几秒后,系统显示测试邮件已发出!问题成功解决了!
我已经不记得老版本时是不是有30秒的设置,但显然新版把空白默认为0还是不太合适的,有进一步的改进空间呀。
这个说法看起来很专业,但是该博主没有告诉我们怎么增加超时这个选项,事后证明与本项设置也无关网络说法三:
有些云厂商不支持25端口,无法发送邮件
然而本人试过打开VPS的25、587、465端口然并卵,与端口根本无关
以下贴上正解:
一、了解POP3、IMAP和SMTP的基本概念
在配置谷歌邮箱的POP3/IMAP/SMTP接口之前,首先需要了解这三个协议的基本概念。POP3(Post Office Protocol 3)是一种用于接收电子邮件的协议,它将邮件从服务器上下载到本地计算机上,并在下载后从服务器上删除。IMAP(Internet Message Access Protocol)也是一种接收邮件的协议,但它允许用户在多个设备之间同步邮件,并保持邮件在服务器上的状态。SMTP(Simple Mail Transfer Protocol)则是一种用于发送电子邮件的协议。
二、谷歌邮箱POP3配置方法
要使用POP3协议配置谷歌邮箱,首先需要登录谷歌邮箱账户,并找到“设置”选项。在设置页面中,选择“转发和POP/IMAP”选项卡。在POP下载部分,启用POP并设置适当的设置。需要注意的是,谷歌邮箱默认不启用POP协议,因为POP协议会将邮件从服务器上删除,这可能导致用户在其他设备上无法访问这些邮件。因此,在使用POP协议之前,请确保您了解这一点,并根据自己的需求做出选择。
三、谷歌邮箱IMAP配置方法
与POP3协议相比,IMAP协议更适合在多设备之间同步邮件。要配置谷歌邮箱的IMAP接口,同样需要登录谷歌邮箱账户,并找到“设置”选项。在设置页面中,选择“转发和POP/IMAP”选项卡。在IMAP访问部分,启用IMAP并设置适当的设置。与POP3不同,谷歌邮箱默认启用IMAP协议。启用后,您可以在其他设备或邮件客户端上使用IMAP协议访问您的谷歌邮箱,并保持邮件在服务器上的状态。
四、谷歌邮箱SMTP配置方法
要使用SMTP协议发送电子邮件,您需要在邮件客户端中配置谷歌邮箱的SMTP服务器信息。谷歌邮箱的SMTP服务器地址是
smtp.gmail.com
,端口号通常为587(用于启动TLS)或465(用于SSL)。在配置SMTP时,您还需要提供您的谷歌邮箱用户名和密码,并启用“允许不够安全的应用”选项(尽管这存在安全风险,但对于某些应用程序可能是必要的)。配置完成后,您就可以使用SMTP协议通过谷歌邮箱发送电子邮件了。根据以上,小结一下要点:
1、检查vps安装了postfix,这是邮件服务,必须要有
2、与端口无关,vps的25、587、465不用打开
3、用ssl协议配置gmail,端口是465,不是587哦
推荐阅读
文章标签:
版权声明: 本文除特别说明外均由 麒麟在线 原创
本文链接: https://www.70ol.com/jishu/198.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!
分享本文: 请填写您的分享代码。
呃 本文暂时没人评论 来添加一个吧
发表评论