最近在安装Discuz!X2.0时,检测邮件设置时,总是提示邮件发送返回错误信息。(如图)。
本人环境配置为:
Linux 虚拟网站建设公司主机
服务器软件:Apache
服务器数据库:MySQL
百度一下,发现不少站长都遇上了这个问题,网上都是千篇一律的转载一篇Discuz的官方教程,但是根本无法解决邮件发送返回错误信息的问题。
经过几天不停的百度与GOOGLE,总结出现此类错误的大多数服务器为虚拟主机,原因是有些主机商为防止垃圾邮件,屏蔽了了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的文件:
\source\function\function_mail.php 邮件相关
\uc_client\lib\sendmail.inc.php 邮件相关
\uc_server\lib\sendmail.inc.php 开发php网站 邮件相关
PS:如果你在后台邮件测试提示错误,不必担心,测试邮箱还是会有邮件收到的!
相关教程地址:www.discuz.net/thread-2478985-1-1.html
解决方法二
登录网站虚拟空间后台(以下已bluehost虚拟主机为例):
进入Bluehost的cPanel,cPanel--》Email Accounts--》Add a New Email Account
2、指定一个新的Email帐户,比如帐户名sfz99,并选择一个需要关联与之的域名比如sfz99.com,建立邮箱账号:admin@sfz99.com。
3、创建密码(建议使用密码生成器,防止密码过于简单)。
在DISCUZ邮件发送方式中选择第一项通过 北京门头沟区网站建设公司PHP 函数的 sendmail 发送。(根据自己对应的服务器选择)
希望这两个方法,能帮倒还没解决这类麻烦的站长童鞋,其实最大问题就是主机商25端口的是否禁止,如果以上都不能解决,建议换一个主机空间。文章来源:http://www.sfz99.com,谢谢。
南京牧狼文化传媒有限公司简介:
牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!
公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!
为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!
主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等
合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯
资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。