一、为什么要配置SMTP
很多主机商都默认禁用了服务器的 25 端口,导致 WordPress 无法发送邮件。即使主机没有禁用 25 端口,WordPress 默认发送的邮件可行度也不高,经常被屏蔽或放入垃圾箱。所以通常需要给WordPress 网站配置 SMTP服务来发送邮件。
二、配置SMTP服务前的准备
1、WP mail SMTP插件
需要开启SMTP服务,需要有相关程序支持。有的主题自带SMTP服务,能力强的可以手搓代码,但我个人建议还是安装插件,毕竟WordPress有着良好的生态,有不少优秀的解决方案,何必重复造轮子呢。
这里推荐的插件是:WP mail SMTP ,在这之前本人试过WordPress自带的服务,或者主题自带的SMTP服务,无一例外都失败了,关键是失败没有任错误提示,排错无从下手;最终通过 WP mail SMTP 插件的错误提示一步步成功了。
安装过程略过…
2、邮箱设置
需要收发邮件就必须要有一个邮箱,此邮箱需开启SMTP服务,这里建议用自己的域名邮箱方便后面进行SPF和DMARC设置。下面以阿里云企业邮箱为例,开启相关服务。
2.1、登录阿里云企业邮箱postmaster账户(如postmaster@xyz.com),进入员工账号管理,编辑需要用来收发邮件的账号(如ABC),将外域收信相关服务打开:


2.2、登录需要用来发邮件的账号(abc@xyz.com),进入,设置–账号与安全–账户安全–三方客户端登录安全管理,点击生成新密码,会产生一个秘钥用于第三方客户端登录,此秘钥只显示一次,记录下此秘钥备用。

三、WP mail SMTP 插件设置
进入WordPress后台将WP mail SMTP 插件启用,进入设置界面。
发件人,填用于收发邮件的邮箱(ABC@xyz.com);发件人名称,随意填就行。

邮件程序选:其他SMTP

SMTP主机填阿里云企业邮箱SMTP主机地址:smtp.qiye.aliyun.com;
加密和SMTP端口:阿里云企业邮箱提供SSL端口465,无加密端口25,其他服务商请上官网查阅。如果一种不通,更换另外一种试试。若无TLS需将“自动TLS”停用。
认证:启用,在SMTP用户名输入用于收发邮件的邮箱(ABC@xyz.com),SMTP密码填写第2.2步生成的秘钥。
设置完后点击“保存设置”。

四、发送测试邮件
进入WP Mail SMTP 工具栏,输入一个收件人,点击发送电子邮件。

邮件发送后出现如下提示与报错,
此时123@xyz.com可能也能正常收到邮件,收发邮件功能已实现。

五、配置SPF和DMARC
SPF(Sender Policy Framework)是一种电子邮件验证协议,用于防止电子邮件欺诈。通过SPF记录,域名所有者可以指定哪些邮件服务器有权代表该域名发送电子邮件。如果邮件发送失败SPF报错问题出现,通常是由于SPF记录配置错误或缺失。
DMARC(Domain-based Message Authentication, Reporting & Conformance)的缩写,设置DMARC记录,防止他人伪造贵司域名,还可以获取到他人尝试伪造贵司域名的情况。
出现以上报错需要对邮箱域名DNS,依次添加SPF和DMARC解析,配置教程参考阿里云官方文档:
5.1、 如何配置域名的SPF解析以避免退信
5.2、什么是DMARC?如何设置?
配置完等DNS生效后重新发送测试邮件,此时应该没有报错和警告,整个配置完成。
小林博客





