方法一:需要使用一个SMTP插件.(为什么要用插件?因为看下面)
WORDPRESS网站其实自带发送邮件的功能,但是其使用的是PHP的mail()函数的方式,用这种方式发送邮件,要么邮件根本就发不出去,虚拟主机不支持,禁止使用mail()函数;要么发出去了,连收件人的垃圾箱都进不了,直接被系统拦截。所以,我们需要一款通过SMTP方法发送邮件的插件,来代替WORDPRESS使用的mail()函数。(这就是原因)
(那么什么是通过SMTP方法发送邮件呢?)
所谓用SMTP方式发邮件,就是使用公网的邮箱,通过远程的方式(SMTP)协议,发送邮件给对方。比如你有一个QQ邮箱,你就可以在WP Mail SMTP插件中进行一些设置,设置成功之后,你的网站发送邮件,就是远程通过你的QQ邮箱来发送的。通过SMTP方式发送邮件,发送成功率会很高。
下图是WP Mail SMTP插件的配置说明:
根据上面的截图,设置好,如果没有收到测试电邮,这个时候,如果使用的是QQ邮箱,最好去QQ邮箱的设置里面设置一下SMTP/POP这些,把这些都开启,因为我这个是在centos7下搭建的wordpress网站,为了解决这个问题,我前面已经在服务器端安装了SMTP,具体可以参考这篇文章。
看了下这篇文章,主要是针对解决网站php脚本的电邮方式的问题,就是把表单写在一个php文件中的那种方式,这两篇文章,相信基本可以解决wordpress网站电邮的问题了。
方法二:免插件直接修改wordpress源文件class-phpmailer.php和pluggable.php实现wordpress的SMTP发件
这个方法需要我们队wp的2个源文件做个小小的修改。我们要修改的有2个文件:
../ wp-includes/pluggable.php
../wp-includes/class-phpmailer.php
操作步骤:
1、用文本编辑器打开pluggable.php,
搜索$phpmailer->IsMail();
并将:$phpmailer->IsMail(); 替换为:$phpmailer->IsSMTP();
修改后如下图:
$phpmailer->IsSMTP();
2、 用文本编辑器打开class-phpmailer.php,配置你的SMTP邮箱相关信息如SMTP地址、邮箱名称、邮箱密码、发送端口等。请对照下面项目,在class-phpmailer.php文件中寻找与之相同的地方,并进行修改。如下所示:
var $Mailer = 'smtp'; var $Host = 'smtp.qq.com'; //邮箱的SMTP服务器地址 var $Port = 465; //SMTP邮件发送端口。一般默认为25。示例用的是465 var $SMTPSecure = ""; //是否验证 ssl或tls var $SMTPAuth = true;//开启SMTP var $Username = '340555017@qq.com'; //你的邮箱地址 var $Password = 'www.51php.com'; //你的邮箱登陆密码
设置完毕后,上传文件即可。由于时间仓促,这个方法未经过实际验证,本方法适合wp 3.x以上版本。
未经允许不得转载:哈勃私语 » 最靠谱的wordpress SMTP电邮解决方案
本文共1318个字 创建时间:2017年9月22日11:04