我们经常会遇到wordpress后台邮件无法发送的问题。比如contactform7等联系表单、密码修改邮件以及woocomerce订单通知邮件等都无法发送和接收到。这是什么原因呢?如何解决呢?
1.邮件无法发送的原因:
造成邮件无法发送和接收的原因主要是两种:服务器配置和反垃圾邮件。
WordPress后台和wordpress插件都是默认使用PHP mail()功能发信的。但是很多服务器提供商不开通这个功能。
另一个原因,邮件提供商会审查接收的邮件。他们会检查邮件的发信地址和实际发信地址是否一致。
举个例子。如果我们的邮件供应商是gmail,但是你的发信地址是你的域名后缀的邮件。
因此收件方的邮件供应商会屏蔽或者把来自wordpress的通知邮件屏蔽或者发送到垃圾邮件。
2.如何修复wordpress邮件发送不成功的问题?
我们可以用SMTP(Simple Mail Transfer Protocol)邮件发送协议来解决邮件发送不成功的问题。SMTP是一个保证邮件到达率的通用邮件标准。它能通过修改邮件发送方式和认证方式的方法使各种不同的邮件传输服务相互连通。
3.邮件发送修复实战:
我们今天用到的插件是WP Mail SMTP Plugin。首先是安装这个wordpress插件。

安装以后后台默认是用PHP发信的。我们点击上方的电子邮件测试选项。

点击测试以后我们会发现下面的错误代码“发送测试电子邮件时发生错误”。说明wordpress后台是无法发送邮件的。
下一步我们开始设置WP Mail SMTP Plugin插件。

国内一般用阿里云、腾讯、163的邮箱比较多。本教程是以阿里云企业邮箱为例。下面具体讲一下设置过程。我们可以搜索找到阿里云企业邮箱配置的信息:
https://help.aliyun.com/knowledge_detail/36576.html 可以看到信息SMTP 服务器地址:smtp.mxhichina.com 端口25, SSL 加密端口465
首先是SMTP主机:这里填写SMTP服务器的主机地址。
SMTP端口:因为我们要开启SSL加密功能,所以选择加密端口 465
认证:选择开启,现在很多邮件提供商要求开启,否则会出问题。
SMTP用户名和密码:这个是你的邮件用户名和密码。
设置完成点击保存按钮。
注意:在设置用户名和密码的时候下面有提示,让修改wp-config.php文件来实现。这样的目的是比直接填写用户名和密码安全一些。为了让小白更容易上手,我们还是填入用户名和密码。后期会演示如何修改wp-config.php文件的方法。
设置完成后我们再进行以前邮件发送测试的步骤,验证有没有设置成功。如框中所示,我们设置成功了。

我们再到收件邮箱里面去看一下,有没有收到测试邮件。

发送和接收都成功了。至此我们已经完美的修复了wordpress后台邮件无法发送的问题。
总结一下:
1.wordpress邮件发送不成功的原因有两个,一个是很多网站服务器提供商没有开启邮件发送服务的选项。还有一个是邮件服务商会审核发送地址和实际发件人的一致性,如果不一致会拒收或者进垃圾箱。
2.我们可以使用SMTP服务来解决这个问题。
3.我们用到的wordpress 插件是WP Mail SMTP。