Win主机的mail()函数被禁用,所以只能找相关的插件来解决。小胡现在安装了Configure SMTP插件,换空间之后,发送测试邮件老是提示“不能连接SMTP服务器.”(Error: Could not connect to SMTP host)。
上百度搜索了一遍,发现一篇文章说发送邮件出现“不能连接SMTP服务器.”(Error: Could not connect to SMTP host)的原因是fsockopen()被禁用。由于国内大多数服务器禁用了mail()函数导致wordpress不能发送邮件,而SMTP 插件则是通过PHPmailer连接远程SMTP服务器来发送邮件,如果服务器禁用了fsockopen()函数就会出现上述错误。
下面给出解决方法:
用pfsockopen()函数直接替换掉 fsockopen()
如果pfsockopen函数被禁用的话,换其他可以操作Socket函数来代替, 如stream_socket_client()
找到wp-includes/class.smtp.php 文件
把 @fsockopen 改成 @pfsockopen
- $this->smtp_conn = @fsockopen(
改成
- $this->smtp_conn = @pfsockopen(
Thanks: http://www.huliye.org/?p=2804