默认情况下,WordPress 使用本地的PHP邮件功能,并且所发出的电子邮件经常会被邮件服务商标记为垃圾邮件,而且国内服务器商都是屏蔽了25端口的,导致无法使用PHP邮件功能。使用SMTP服务器是确保WordPress电子邮件可传递性。

为什么WordPress需要电子邮件?

  • 增加用户粘性,在用户评论、被回复的情况下可以通过邮件通知。
  • 账户密码找回功能,不管是管理员还是用户账户出问题可以通过电子邮件自助找回密码。
  • 站点异常、或者需要进行什么动作会通知到管理员。

1.无插件部署 SMTP 服务

通过 Snippets 或者直接在主题文件下的 functions.php 文件里面添加以下代码。这里我强烈建议使用 Snippets 等插件管理附件代码,避免主题升级、更换导致的功能失效。

//smtp Send
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->IsSMTP();
$phpmailer->Host = "smtp.exmail.qq.com"; //SMTP服务器地址,
$phpmailer->Port = 465; //SMTP端口
$phpmailer->Username = "service@wangshuashua.com"; //邮箱的登录账号
$phpmailer->Password = "password"; //邮箱的登录密码
$phpmailer->SMTPAuth = true; //启用SMTP认证
$phpmailer->SMTPSecure = 'ssl'; //SMTP加密方式
$phpmailer->From = "service@wangshuashua.com"; //发件人的地址(
$phpmailer->FromName = "王耍耍"; //发件人的称呼
}

2.通过插件部署 SMTP 服务

可以在后台安装插件服务里面搜索 smtp ,这里我们推荐安装使用最多的 WP mail SMTP ,如果后台无法直接安装,可以到官方网站下载后在后台上传安装。

启用后,进入WordPress管理后台中的 WP Mail SMTP » Settings 页面进一步设置。

WP Mail SMTP设置

您需要先输入“From Email(发件人电子邮件)”和“From Name(发件人姓名)”。WordPress电子邮件将以你设置的电子邮件地址和名称发送。

此外务必选中“Force From Name”复选框,以确保来自WordPress站点的所有电子邮件都是通过SMTP服务器以设置好的电子邮件地址发出。

提示:只需勾选“Force From Name”即可保证所有电子邮件都来自相同的名称,即可忽略其他插件(例如WPForms)的设置。

WP Mail SMTP发件人设置

接下来,需要选择一个SMTP邮件服务,如下图所示。

WP Mail SMTP发信邮局设置

如果使用 Cloudways 等主机托管商可以直接选用默认的发信即可,但国内的很多服务器都是无法发信的。需要配置 Smtp 发信服务。可以配置已经给出的邮件服务商,或者选择 Other SMTP 配置自定义的发信服务(如QQ、163等邮箱),国内的建议选择第一种方式,一段代码即可。