前言
对于一个网站而言,发送邮件的功能是必不可少的,现在的主机一般都支持发送邮件,但是不同的主机由于函数限制或者某些其他原因,可能造成没办法正常发送邮件。这时候,我们可能就要借助第三方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”。
万网及阿里云解决方案
如果你的主机禁用了“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 );