在WordPress外贸独立站搭建过程中,有时会遇到客户使用的网站空间不支持邮件发送的问题,导致外贸网站中的在线询盘,Get a Quote等表单提交,无法同步发送到指定的接收邮箱。这时,就需要通过使用其他第三方的SMTP邮件服务器(比如:Gmail、QQ邮箱、163邮箱等)来间接实现网站内部的邮件发送功能了。除了之前介绍过的类似功能的插件 – Easy WP SMTP 外,本文,WPPOP再介绍一个安装使用量更高的 SMTP插件 – WP Mail SMTP。
导致无法发送邮件的主要原因:常用的邮箱服务器,比如163、腾讯、阿里云等的反垃圾邮件的过滤拦截机制偏高,一般会对没有MX邮箱服务器记录的域名是直接拒绝的;WordPress默认使用的是 wp_mail() – PHP 邮件函数,可能会被误判并过滤拦截。如果遇到类似问题,我们就可以使用本文的SMTP插件来实现正常邮件发送服务。
什么是 SMTP?
SMTP( Simple Mail Transfer Protocol ) 是一种简单邮件传输协议,可以在互联网上通过SMTP来发送电子邮件,是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
默认情况下,WordPress 使用 wp_mail() 函数,也就是 PHP 邮件函数 来发送WordPress网站内生成的电子邮件。问题是有些主机托管公司并没有正确配置其服务器以发送 PHP 电子邮件,所以,会导致您的 WordPress 网站无法送达电子邮件。
WP Mail SMTP 插件介绍
WP Mail SMTP (全称是 WP Mail SMTP by WPForms)被认为是最好的 WordPress SMTP 插件,也是目前使用量最多的此类插件。WP Mail SMTP 通过使用第三方的SMTP服务器,为网站在发送电子邮件时使用正确的 SMTP 提供程序的方式,来修复您的网站电子邮件发送功能,它允许您使用安全的邮件传输协议或 SMTP 轻松发送 WordPress 电子邮件。最重要的是,该插件的使用和设置非常简单易用。
WP Mail SMTP 插件通过改进和更改您的 WordPress 网站发送电子邮件的方式,轻松解决网站的电子邮件传递问题。我们重新配置 wp_mail()
函数,以使用正确的 SMTP 服务器凭据或利用内置的 SMTP 邮件提供程序,这样就可以帮助您解决所有的WordPress 网站主机不能发送电子邮件的问题。
安装方法
方法1:在后台的【插件 – 安装插件】页面,在线搜索 WP Mail SMTP 在线安装,启用即可使用;
方法2:在WordPrss官方插件库网站, 下载 WP Mail SMTP 插件后,通过FTP上传到网站空间的 /wp-content/plugins/ 插件目录,然后,在后台的【插件】列表中找到并启用。
使用方法
安装启用 WP Mail SMTP 插件后,在后台管理面板的 左侧功能菜单中找到 【 WP Mail SMTP 】,点击进入对应设置页面,如下图所示:
在上图所示的插件设置页面,我们主要用到的是 一般(General) 和 电邮测试(Email Test) 2个功能标签。
其中的 授权 部分是需要付费升级到PRO高级版获取授权码的,我们不需要那些额外的高级功能,所以,不需要付费购买授权码。
- 一般(General):使用第三方SMTP邮件服务器配置插件设置项;
- 电邮测试(Email Test):配置完成后,发送测试邮件来检查邮件发送功能是否正常。
一般(General)
一般(General)标签项下的功能属性包括:
- 授权码:需要付费升级到PRO高级版获取授权码的,我们不需要那些额外的高级功能,所以,不需要付费购买授权码;
- 发件人:用于发出邮件的电子邮件地址,显示在发送邮件的 发件人 位置;建议勾选“强制使用 [发件人电子邮件地址] 设置”项;
- 发件人名称:发出邮件的发件人名称;建议勾选“强制使用 [发件人名称] 设置”项;
- 返回路径:设置传回路径以符合 [发件人电子邮件地址] 中的设置;如果发送的邮件没有成功送达目标邮箱,则退回邮件会返回到该邮箱;建议勾选;
- 邮件程序:也就是选择对应的SMTP服务器服务商,插件内置了SendLayer、SMTP.com、Amazon SES、Google / Gmail、Outlook等国外热门的服务商;如果我们使用国内SMTP服务商,可以选择“其他 SMTP”项,然后,使用 QQ邮箱、163邮箱等的SMTP服务器来配置。
我们以QQ邮箱为例,我们讲解一下如何设置 SMTP 和 获取 SMTP 密码(不是邮箱的登录密码):
- SMTP 主机:smtp.qq.com,也就是QQ邮箱的发件服务器地址;
- 加密:SSL,对于大多数使用 https 协议的网站来说,使用SSL;
- SMTP 端口:465,也就是SSL对应的端口号;
- 自动 TLS:默认启用;
- 认证:默认启用;
- SMTP用户名:也就是你的QQ邮箱地址,比如:wppopcom@qq.com;
- SMTP 密码:登录邮件服务器的密码;QQ邮箱对应的是授权码;该字段显示为*****,不会直接显示。这样做是为了防止有权访问“设置”页面的人看到您的密码(例如,使用密码字段取消屏蔽程序)。
如何获取SMTP密码(不是邮箱的登录密码):
1. 登录你的QQ邮箱,在 设置 页面的 帐户 中找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 项,如下图所示:
默认状态下,POP3/SMTP服务是关闭的,我们需要先开启该服务。
2. 开启POP3/SMTP服务后,看到下面的温馨提示:
温馨提示:在第三方登录QQ邮箱,可能存在邮件泄露风险,甚至危害Apple ID安全,建议使用QQ邮箱手机版登录。
继续获取授权码登录第三方客户端邮箱 。 生成授权码
点击 生成授权码 ,出现短信验证密保的弹窗,如下图所示:
根据弹窗提示,使用你的邮箱绑定手机发送内容为“ 配置邮件客户端 ”的短信内容,到号码:1069070069后,点击“ 我已发送 ”按钮,即可出现生成授权码的界面,如下图所示:
3. 把上图中获取的邮箱授权码,填写到插件设置页面的 SMTP Password(SMTP密码)框中即可。
电邮测试
电邮测试(Email Test)标签项下的功能主要是,SMTP服务器配置完成后,通过发送测试邮件,检查邮件发送功能是否正常。如下图所示:
- 收件人:设置将要发送到的测试电子邮件的电子邮件地址;
- HTML 格式电子邮件:设置要以 HTML 或纯文字格式发送测试电子邮件,默认启用;
设置好测试的收件人邮箱后,点击 发送电子邮件 按钮,如果成功发送,则会出现如下提示界面:
如果没有发送成功,请检查前面的SMTP服务器设置;此外,检查你的网站服务器/主机环境中是否开启了PHP函数的 fsockopen设置项。具体排查和设置方法看参考 PHP函数fsockopen设置没开启导致邮件无法发送的文章。