WordPress的邮件功能很强大,可以实现用户密码以往后自助恢复等问题。
WordPress默认是使用php发邮件的,php需要配置好smtp(端口25)服务器及密码。这种方式不直观,因此一般都用smtp插件,常用的插件是WP Mail SMTP。
它可以提供多种邮箱的连接(主要是国外,国内的可以选择其它)
默认就是安装插件前的状态,就是用PHP函数发邮件。即便是还用默认选项,利用这个插件可以实现测试发送邮件。
以上是WordPress的邮件发送设置部分,但是如果需要成功外发邮件,需要外部环境支持,这些包括:
1、用自建邮件系统
2、使用第三方邮件系统
自建邮件系统比较复杂,需要域名做好解析,还要安装邮件服务软件。这期都好办,但是邮件系统设置时,需要开启很多端口,比如:25、110、995、465、587等,最重要的是25,需要在阿里云进行申请,因为安全因素,这个端口默认是不开启的。
很多网友表示,申请通过率不高。因此只能选择企业邮箱或者第三方邮箱了。下面我们就以126邮箱为例,完成WordPress的邮件发送设置。
1、进入126邮箱,开启POP3/SMTP服务,需要扫码用注册手机号发送短信,一定要保存好授权密码
2、进入终端,依次输入如下命令:
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt
certutil -A -n '126' -t "P,P,P"-d /root/.certs -i ~/.certs/126.crt
certutil -L -d /root/.certs
vi /etc/mail.rc在文件末尾增加如下内容:
et from=账号@126.com
set smtp=smtps://smtp.126.com:465
set smtp-auth-user=账号@126.com
set smtp-auth-password=授权密码
set smtp-auth=login
set ssl-verify=strict
set nss-config-dir=/root/.certs
3、测试:
echo "test mail" | mail -s "test" 账号@126.com
这时邮箱可以收到一个文本邮件
4、配置WordPress的插件WP Mail SMTP(安装过程略)
选择其它类型的邮箱
5、发邮件测试
至此WordPress的邮件发送设置完成。设置成功以后,可以添加一个用户后,测试“发送密码重置邮件”,通过邮寄来修改用户密码了。