最近在安装Discuz!X2.0时,检测邮件设置时,总是提示"邮件发送返回毛病信息"。(如图)。
本人情况配置为:
Linux 虚拟主机
办事器软件:Apache
办事器数据库:MySQL
百度一下,发现很多站长都遇上了这个问题,网上都是千篇一律的转载一篇Discuz的官方教程,可是底子无法解决"邮件发送返回毛病信息"的问题。
颠末几天不断的百度与谷歌,总结呈现此类毛病的年夜大都办事器为虚拟主机,原因是有些主机商为避免垃圾邮件,屏蔽了了25端口(25端口为SMTP即Simple Mail Transfer Protocol,简单邮件传输协议)。从而致使了"邮件发送返回毛病信息"。
解决体例一
Discuz论坛hixinqin同学提供的体例:找到法度里的 fsockopen 函数,替换为:pfsockopen,便可解决所有问题,两个函数的区别在于 pfsockopen 保持 keep-alive,使得黑客无法进行毗连数抨击打击。已知使用 fsockopen 函数的法度文件路径(在fsockopen 前加 p, 即fsockopen 修改成 pfsockopen 便可 ):
Discuz X2 安装提示不支持fsockopen:
将 /include/install_var.php 文件里的
$func_items = array('mysql_connect', 'fsockopen', 'gethostbyname', 'ile_get_contents', 'xml_parser_create');
替换为:
$func_items = array('mysql_connect', 'pfsockopen', 'gethostbyname', 'file_get_contents', 'xml_parser_create');
便可正常安装。
X2邮件相关包含fsockopen的文件:
sourcefunctionfunction_mail.php 邮件相关
uc_clientlibsendmail.inc.php 邮件相关
uc_serverlibsendmail.inc.php 邮件相关
PS:如果你在后台邮件测试提示毛病,没必要担忧,测试邮箱仍是会有邮件收到的!
相关教程地址:discuz /thread-2478985-1-1.html
解决体例二
登录网站虚拟空间后台(以下已bluehost虚拟主机为例):
进入Bluehost的cPanel,cPanel--》Email Accounts--》Add a New Email Account
2、指定一个新的Email帐户,比如帐户名sfz99,并选择一个需要关联与之的域名比如sfz99,成立邮箱账号:admin@sfz99。
3、成立密码(建议使用密码生成器,避免密码过于简单)。
在DISCUZ邮件发送体例中选择第一项"通过 PHP 函数的 sendmail 发送"。(按照自己对应的办事器选择)
希望这两个别例,能帮倒还没解决这类麻烦的站长童鞋,其实最年夜问题就是主机商25端口的是否制止,如果以上都不克不及解决,建议换一个主机空间。文章来历:.sfz99,谢谢。