A-A+

wordpress 万网主机下无法发送邮件

2015年08月19日 PHP开源系统 评论 2 条 阅读 273 views 次

在购买了万网主机,在线安装了 wordpress 后,发现之前可以发送邮件的功能却不能使用了,就是无论如何进行回复,访客都是收不到邮件的,在垃圾邮箱里面也没有找到,于是在网上寻找答案,原来万网的主机的确存在这个问题,万网主机使用 smtp 来发送邮件,并且需要开启 fsockopen,但是伟大的 wordpress 的 smtp 发送的方式是 steam_connect_client 并非是 fsockopen,两者完全的不兼容导致 wordpress 不能发送邮件,解决的方法也很简单,只需要将 wordpress 发送邮件方式 steam_connect_client 修改为 fsockopen 即可。

第一,打开 打开 /wp-include/class-smtpp.php 大概是 202-208 行的位置,找到下面的代码:

  1. $socket_context = stream_context_create($options);  
  2. $this->smtp_conn = @stream_socket_client(  
  3. $host . ":" . $port,  
  4. $errno,  
  5. $errstr,  
  6. $timeout,  
  7. STREAM_CLIENT_CONNECT,  
  8. $socket_context  
  9. );  

需要注意的是最新版的可能有些不同,修改成如下的代码:

  1. $this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);  

第二,我们还需要一款发送邮件的插件,比如 wp smtp 或者 wp mail smtp,在 wordpress 后台下载安装,简单的配置一下就可以了。

另外,这种修改方式有个最大的缺点就是修改的是 wordpress 的核心文件,一旦 wordpress 升级就需要我们再重新修改了。

标签:

2 条留言  访客:2 条  博主:0 条

  1. 沃土

    可惜我是西部数码的主机

    • smiling

      西部的主机应该有 win,linux 之分,在买的时候选择 linux 就可以。

给我留言