共计 2175 个字符,预计需要花费 6 分钟才能阅读完成。
邮件功能可以说是一个网站的标配,除了发送找回密码的邮件外,还可用于发送用户注册、评论、订单等邮件消息。WordPress 虽然默认提供了的电子邮件功能,但还需要我们配置 SMTP 服务器信息才能正常发送邮件。
确认是否需要配置 SMTP 服务
有些一键部署 WordPress 应用的安装包会帮忙配置 SMTP 服务,但大多数网站还是需要自行设置。可以在网站管理后台的设置/常规,修改管理员密码测试下,若未能收到邮件,则说明网站需要配置 SMTP 服务了。
配置 SMTP 服务
WordPress 配置 SMTP 服务可以不用在服务器上安装 sendmail 等包,直接使用 WP Mail SMTP by WPForms 或 Easy WP SMTP 等邮件插件解决发送邮件的问题。
小编这里以 WP Mail SMTP 为例说下整个配置过程:
- 在后台插件页面搜索 “Mail SMTP”,找到 WP Mail SMTP by WPForms,点击立即安装并启用。
- 点击左侧菜单上的 WP Mail SMTP,点击设置并填写邮件信息。
- From Email 设置为发件人地址
- 开启 Force From Email
- 设置 From Name
- Mailer 根据需求选择。若使用的邮件服务商不在可选列表中的话,则使用 Other SMTP。
- 配置邮件服务商提供的 SMTP 信息。这些信息需要在自己使用的邮箱配置中查找,这里以 Gmail 和 QQ 邮箱(需发短信开通 SMTP 服务)分别说下如何配置 SMTP 信息。
Gmail
WP Mail SMTP 提供了三种接入 Gmail 的方式:
- One-Click Setup:通过 Google SSO 登录,不过只针对高级会员,这里略过;
- Google/Gmail Mailer:通过 Gmail API 发送邮件。不过这种方式需要服务器能访问 Google Cloud,若服务器位于中国大陆境内将无法使用。
- 配置 Gmail SMTP 服务器信息发送邮件。
本文说下后两种方式如何发送邮件,两种方式任选其一即可。
Gmail Mailer
- 在 Mailer 中选择 “Google / Gmail”
- 在 Google Cloud 创建项目并启用 Gmail API:
创建 Google Cloud 过程可参考[申请谷歌免费云服务器记录](/122/#申请 Google Cloud 免费试用)。 - 点击创建凭证:
- 数据类型选择用户数据,然后点击下一步:
- 填写应用名称、用户支持电子邮件和开发者的电子邮件地址:
点击保存并继续。 - 范围是可选项,点击保存并继续直接跳过。
- OAuth 客户端 ID 设置中应用类型选 Web 应用;名称用于标识,根据自己需求填写;已获授权的重定向 URI 填写 WP Mail SMTP 给的地址
https://connect.wpmailsmtp.com/google/
:
点击创建。 - 创建完成后会得到客户端 ID,点击完成。
- 点击左侧菜单的凭据 / 在 OAuth 2.0 客户端 ID 名称 中点击客户端 ID,即可得到客户端 ID 和密钥:
- 此时虽然拿到了 ID 和密钥,但当前环境只是测试环境,还需要将 ID 和密钥推送到生产环境。点击左侧菜单的OAuth 权限请求页面,点击发布应用即可发布到生产环境:
- 回到 WP Mail SMTP,将客户端 ID 和密钥复制到如下位置,然后点击保存。
- 保存后还需要点击授权来允许插件使用 Google 账号发送邮件:
Gmail SMTP
配置 Gmail SMTP 服务器信息后也能使用 Gmail 收发邮件,在 WP Mail SMTP 配置中点击 Other SMTP 后,填写信息如下:
- SMTP Host: smtp.gmail.com
- Encryption: TLS
- SMTP Port: 587
- Authentication: 开启
- SMTP Username: Gmail 邮箱地址
- SMTP Password:填写 Google App passwords 中得到的专属密码,具体参考Cloudflare 与 Gmail 配置自定义域名邮箱。
关于如何配置 Gmail 来收发自定义域名的邮件可参考Cloudflare 与 Gmail 配置自定义域名邮箱。
QQ 邮箱
对于服务器在中国大陆的小伙伴们,只能使用 QQ、163 等邮件服务器来发送邮件,如下是 QQ 邮件的 SMTP 配置信息:
- SMTP Host: smtp.qq.com
- Encryption: SSL
- SMTP Port: 465
- Auto TLS: 开启
- Authentication: 开启
- SMTP Username:QQ 邮箱地址
- SMTP Password:开通 SMTP 服务时的授权码,具体获取过程可参考配置 Spark 邮件客户端收发 QQ 邮件一文。
配置完成后点击保存。然后点击左侧菜单上的 WP Mail SMTP,选择 Tools 项,在 Email Test 标签中填写一个邮件地址并点击发送邮件进行测试:
问题
配置过程中可能会遇到一些问题,这里说下如何解决这些问题。
Could not connect to SMTP host
发送邮件时可能会无法连接到 SMTP 服务导致发送失败,报错原因显示 Could not connect to SMTP host。
原因可能如下:
- 若服务器位于中国大陆境内,由于 GFW 的原因导致无法连接 Gmail 服务,此时需要切换为其他邮箱服务。
- 对于使用阿里云、腾讯云等国内云厂商提供的一键建站工具创建的站点可以看下环境设置中的 PHP.ini 是否未启用
fsockopen()
方法,若未启用则设置为启动后再测试下。 - 检查使用的主题是否提供了配置 SMTP 的功能,且主题配置覆盖了 WP Mail SMTP 插件的配置。