I'm Sham
一个在通往码农道路上走走停停的行政文员

阿里云主机使用wordpress无法发送邮件问题解决

最近更换了一个主题,自带的用户注册是需要通过邮件验证之后才算完成的,这时,Sham就发现了一个问题,就是提交注册后,发现无法收到邮件,切换到Wordpress默认主题,注册也是一样,能注册成功,但是收不到邮件。

上网查了下,应该是2种原因:

1种是Wordpress默认是通过stream_context_create 发送邮件的,但是貌似阿里云主机是把这个禁掉了;

另外一种是阿里云为了安全,默认禁用了25端口,索然可以申请解禁,但是Sham尝试了下,没通过,也就放弃了;

为了能正常使用,于是通过网上的方法,成功实现了邮件发送,下面就来一步步实现。

第一步:修改Wordpress系统文件,找到目录下面->“wp-includes”->“class-smtp.php”,打开编辑(友情提醒,记得备份),找到如下代码:

$socket_context = stream_context_create($options);
set_error_handler(array($this, 'errorHandler'));
stream_socket_client(
                $host . ":" . $port,
                $errno,
                $errstr,
                $timeout,
                STREAM_CLIENT_CONNECT,
                $socket_context
            );

把他们替换成如下代码并保存(
添加“/**”注释而不是删除是为了下次还能改回来 )

/** 
$socket_context = stream_context_create($options);
set_error_handler(array($this, 'errorHandler'));
stream_socket_client(
                $host . ":" . $port,
                $errno,
                $errstr,
                $timeout,
                STREAM_CLIENT_CONNECT,
                $socket_context
            );  
**/
$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);

然后进入WP管理后台,添加SMTP插件,Sham用的是“Easy WP SMTP”,安装激活,然后进行相关设置并保存

Easy WP SMTP设置

设置完成之后,你可以通过插件里面的“Test email ”功能来测试下是否已经成功。

至此,就解决了在阿里云主机上使用Wordpress时发送邮件的问题了。

有图有真相

注册页面
激活邮件
赞(0) 赏杯咖啡!
未经允许不得转载:Sham@双目瞿 » 阿里云主机使用wordpress无法发送邮件问题解决

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

如果你觉得文章好,请赏1杯速溶咖啡给Sham吧!

微信扫一扫打赏