WP SMTP解决WordPress无法发送邮件的问题

前言

对于一个网站而言,发送邮件的功能是必不可少的,现在的主机一般都支持发送邮件,但是不同的主机由于函数限制或者某些其他原因,可能造成没办法正常发送邮件。这时候,我们可能就要借助第三方SMTP发送邮件。

插件介绍

WP SMTP是一个可以让wordpress使用SMTP发邮件的插件,我们知道wordpress默认是用mail函数发邮件,发出去的邮件很容易被判为垃圾邮件;有很多朋友的主机甚至禁用了mail函数,没法接收注册邮件以及各种邮件通知。采用SMTP发邮件好处多多,不仅避免被放进垃圾箱,而且可以在所使用的邮箱中查询发了哪些邮件,以及发送状态,非常方便。 WP SMTP插件使用很简单,下载启用后,“设置”“WP SMTP”进入设置页面,上面有Gmail邮箱、Yahoo!邮箱、微软邮箱、163邮箱、QQ邮箱的设置示例,可以点击对应的图标查看示例截图,很贴心吧?其他邮箱设置方法也差不多,注意所用的邮箱必须支持SMTP服务且在邮箱中开启了SMTP服务。

插件安装与使用

(1)下载后解压得到wp-smtp文件夹,上传至 /wp-content/plugins/ 目录,然后在后台“插件”那里启用。 

(2)进行参数配置:“设置”→“WP SMTP”即进入了设置页面。上面有Gmail邮箱、Yahoo!邮箱、微软邮箱、163邮箱、QQ邮箱的设置示例,可以点击对应的图标查看示例截图。 

(3)配置好以后,可以输入“收件地址”“邮件标题”“邮件正文”,然后点击“发送测试”。 

(4)如果参照设置页面顶部各大邮箱示例进行设置仍然会出现错误,可能是主机不支持SSL/TLS,可以尝试将“SMTP加密方式”设为“None”,“SMTP端口”设为“25”。

WP SMTP解决WordPress无法发送邮件的问题

万网及阿里云解决方案

如果你的主机禁用了“stream_socket_client”函数(比如万网和阿里云),但是支持“fsockopen”函数,先在主机中启用“fsockopen”函数,然后将“/wp-includes/class-smtp.php”文件中的如下代码:

$this->smtp_conn = @stream_socket_client(
            $host . ":" . $port,
            $errno,
            $errstr,
            $timeout,
            STREAM_CLIENT_CONNECT,
            $socket_context
        );

将上述代码删除或注释掉,改为以下代码:

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

插件下载

官方下载 | 作者博客

最后编辑于:2015/11/04作者: 烽烟无限