苦于无法发送 WordPress 电子邮件?

由于 WordPress 尝试发送其电子邮件的默认方式,遇到 WordPress 电子邮件未发送的问题很常见,要么是因为电子邮件只是简单地不发送,要么是因为电子邮件确实发送但被垃圾邮件过滤器捕获而不是发送它到收件箱。
这可能会影响通知电子邮件、密码重置、WooCommerce 商店电子邮件以及您的 WordPress 网站尝试发送的几乎所有其他类型的电子邮件。无论是哪种电子邮件,它都不是一件好事。
获取 HubSpot 的免费 WordPress 电子邮件插件
值得庆幸的是,您可以实施一些简单的修复程序来确保您的WordPress 网站能够发送电子邮件并让这些电子邮件避开收件人的垃圾邮件文件夹。
在这篇文章中,我们将介绍理解和解决问题所需了解的所有内容:
- WordPress 电子邮件未发送的常见原因
- 如何配置 WordPress 以使用专用的电子邮件发送服务
- 如何修复常见的 WordPress 联系表单插件不发送电子邮件
- 如何测试您的 WordPress 电子邮件
WordPress 电子邮件未发送的原因
如果您的网站电子邮件出现问题,有两个常见的罪魁祸首:
- 您的WordPress 托管服务器未正确配置以发送电子邮件。
- 您的电子邮件正在发送,但它们最终进入了用户的垃圾邮件文件夹而不是他们的收件箱。
您采取的具体故障排除步骤将取决于具体问题是什么,但解决方案中存在大量重叠。
例如,为您的 WordPress 网站实施更可靠的电子邮件发送方式通常也会帮助他们看起来不那么垃圾。因此,解决基本发送问题也可以同时解决垃圾邮件问题。
不过,在我们开始这些故障排除步骤之前,让我们更详细地解释这两个问题。
1. 您的 WordPress 服务器未正确配置以发送电子邮件
默认情况下,WordPress 会尝试使用您的托管服务器及其基于 PHP mail()函数的 wp_mail( ) 函数来发送您站点的电子邮件。
这是因为此设置最接近于在所有类型的 WordPress 网站上发送电子邮件的“通用”配置。
但是,这里有几个问题。首先,一些网络主机完全禁止 PHP mail() 函数,因为它会导致问题并被滥用于垃圾邮件。如果您的虚拟主机是这些主机之一,您的 WordPress 网站的电子邮件将不会以默认配置发送。
其次,即使主机允许 PHP mail(),您的托管服务器也会针对托管网站进行优化,而不是针对发送电子邮件进行优化。这本身可能会导致问题,要么您的电子邮件根本无法发送,要么您的电子邮件最终进入用户的垃圾邮件文件夹(稍后会详细介绍)。
这里的“修复”是将您的 WordPress 站点配置为使用专用的电子邮件发送服务,而不是尝试使用您网站的托管服务器发送电子邮件。
这些服务提供特殊的服务器,这些服务器经过专门优化以可靠地发送电子邮件,并添加身份验证以帮助他们避免垃圾邮件文件夹。
他们允许您使用称为 SMTP(简单邮件传输协议)的技术发送电子邮件。或者,许多电子邮件发送服务现在也提供 API 集成,让您可以通过这种方式发送 WordPress 电子邮件。
下面,您将学习如何配置 WordPress 以使用专用的电子邮件发送服务,这是解决电子邮件无法发送问题的最佳方法之一。
2. 您的 WordPress 电子邮件最终进入了用户的垃圾邮件文件夹
在某些情况下,您的 WordPress 网站可能会成功发送电子邮件。但是,这些电子邮件可能会陷入垃圾邮件。
我们已经在上一节中介绍了一个重要原因,使用默认的 wp_mail() / PHP mail() 方法。
即使您的主机允许WordPress 使用 PHP mail() 发送电子邮件,这些电子邮件也缺乏适当的身份验证,这意味着它们更有可能被电子邮件客户端的垃圾邮件过滤器标记。
您可能不需要我们告诉您垃圾邮件是个大问题。为了解决这个问题,电子邮件客户端使用积极的过滤器来检测垃圾邮件。这些过滤器之一是检查电子邮件是否已使用 SPF 和 DKIM 等技术进行了正确的身份验证。
简而言之,SPF 允许电子邮件发件人控制能够从域发送的 IP 地址,而 DKIM 提供加密的数字签名来验证电子邮件未被伪造或更改。
总而言之,这些技术验证发件人是他们所说的人,并且电子邮件没有以任何方式伪造。如果没有这些技术,您就会明白为什么电子邮件客户端更有可能将此类未经身份验证的电子邮件标记为垃圾邮件。
使用我们上面讨论的专用发送服务可以让您将这些身份验证技术添加到您的站点,这已经可以帮助您的电子邮件避开垃圾邮件文件夹。
但是,也可能存在其他小问题,特别是如果您使用的是联系表单插件。例如,如果您在表单插件的设置中使用了错误的“发件人”或“收件人”电子邮件地址,则可能会导致垃圾邮件问题。
如何配置您的 WordPress 站点以可靠地发送电子邮件
要将您的 WordPress 站点配置为通过专用服务发送电子邮件,您需要做两件事:
- 一个 WordPress SMTP 插件。大多数站点都可以使用免费的 SMTP 插件。
- 电子邮件发送服务。对于大多数具有低发送量需求的 WordPress 站点,您可以找到免费服务。许多免费服务将支持每天免费发送 100 到 500 封电子邮件。
让我们通过选择正确的工具,然后在您的站点上配置它们。
1. 选择并安装 SMTP 插件。
首先,您需要在您的 WordPress 网站上选择并安装一个 SMTP 插件。SMTP 插件将改变 WordPress 的内置 wp_mail() 方法,改为使用专用发送服务。
这些插件的好处在于它们可以与任何尝试使用 wp_mail() 发送电子邮件的工具一起使用。
这不仅涵盖密码重置等核心电子邮件,而且大多数 SMTP 插件也可以与联系表单插件、事件插件、WooCommerce 一起使用……几乎所有使用 WordPress 发送电子邮件的插件。
您可以在 WordPress.org 插件目录中找到许多免费选项 – 以下是一些热门选项:
- WP 邮件 SMTP
- 邮寄SMTP
- 流畅的SMTP
- 简单的 WP SMTP
- 可湿性粉剂SMTP
您可以在我们完整的 WordPress SMTP 教程中更详细地了解其中一些插件。
对于本教程,我们将使用WP Mail SMTP的免费版本,因为它是最受欢迎的选项,它来自一家信誉良好的公司,并且具有长期的可靠性记录。但是,基本过程与其他插件相同。

2. 选择您的电子邮件发送服务。
接下来,您需要选择要用于发送站点电子邮件的电子邮件发送服务。
许多电子邮件发送服务提供有限的免费套餐,让您每天或每月发送一定数量的电子邮件,以及付费套餐以获得更高的发送限制。
一般来说,大多数 WordPress 网站都可以使用免费套餐,特别是如果您只是发送一些表单通知和密码重置。
但是,对于定期发送交易电子邮件的网站,您可能需要付费服务。这包括商店、在线课程、订阅和会员站点。
以下是一些用于发送 WordPress 电子邮件的流行 SMTP 服务:
- HubSpot 交易 API:如果您已经在使用 HubSpot 进行电子邮件营销,您可以购买一个附加组件来访问交易 API 并使用它来发送您的 WordPress 网站的电子邮件。
- SendGrid:一种专用的电子邮件发送服务,可让您每天免费发送多达 100 封电子邮件。对于更高的发送限制,您可以升级到付费计划。
- Amazon Simple Email Service (SES):SES 没有免费计划,但它是最便宜的付费电子邮件发送服务之一,因为每发送 1,000 封电子邮件只需 0.10 美元。
- Mailgun:提供一个月的免费试用,然后每 1,000 封电子邮件收费 1 美元。
- Sendinblue:虽然 Sendinblue 主要是一种电子邮件营销服务,但它也允许您使用交易电子邮件的发送限制。免费计划允许您每天发送多达 300 封电子邮件。
- Gmail API:如果您有一个免费的 Gmail 帐户,您实际上可以使用它通过 API 发送您的 WordPress 网站的电子邮件。它允许您每天发送 500 封电子邮件,这是您会发现的更高的免费限制之一。但是,设置过程比传统的发送服务稍微复杂一些。
如果您不确定从哪里开始,SendGrid 是一个不错的选择,因为免费计划适用于大多数 WordPress 网站,您可以将其配置为使用其 API 发送电子邮件。

3. 配置您的 SMTP 插件以使用该电子邮件发送服务。
一旦您注册了您选择的 SMTP 服务,最后一步是配置您的 SMTP 插件以连接到该服务。
完成后,您的 WordPress 站点将开始通过该服务而不是 wp_mail() 函数发送电子邮件。
如何设置此配置取决于您选择的发送服务和您使用的插件。有两种通用方法:
- SMTP 凭据:您可以直接输入 SMTP 凭据,这将适用于任何使用 SMTP 的电子邮件发送服务。将其视为“通用”集成选项。
- API 集成:您可以使用直接 API 集成,这是每个提供商独有的自定义集成。
- 发送图层
- SMTP.com
- 发送蓝色
- 谷歌/Gmail API
- 邮枪
- 邮戳
- 发送网格
- 星火邮报
一般来说,我们建议使用直接 API 集成(如果可用),因为这通常会提供更好的可靠性。但是,如果这是您唯一的选择,那么使用通用 SMTP 方法也很好。
要开始将 SendGrid 与 WP Mail SMTP 一起使用,您需要:
- 使用 SendGrid 验证您的域名。
- 访问您的 SendGrid API 密钥。
- 将 SendGrid API 密钥添加到 WP Mail SMTP 插件的设置中。

有关流行服务的完整说明,您可以查阅 WP Mail SMTP 的文档。这里有些例子:
- SendGrid 设置说明
- Gmail API 设置说明
- Mailgun 设置说明
如何确保您的联系表电子邮件避免进入垃圾邮件文件夹
如果您按照上一节中的说明将您的 WordPress 站点配置为使用专用电子邮件发送服务,那么您已经做了很多工作来确保您站点的电子邮件避开垃圾邮件文件夹。
您网站的核心电子邮件应该可以正常工作。但是,您可能仍然会遇到表单通知未发送到订阅者收件箱的问题。
通常,这是表单插件设置错误配置的结果。最常见的问题是试图从与域名不同的电子邮件地址发送表单通知,这可能会导致电子邮件客户端认为您在“欺骗”电子邮件。
如果您不想处理这些问题,请考虑为您的表单使用免费的 HubSpot WordPress 插件。HubSpot 包括其自己的内置电子邮件发送服务,这将确保您的电子邮件正确发送,而无需您费力。
如果您宁愿继续使用现有的表单插件,我们将介绍如何修复 WordPress 上的表单,该表单不会为几个流行的插件发送通知电子邮件:
- 联系表格 7
- WP表格
- 重力形式
- 忍者形态
- 其他 WordPress 表单插件
修复 Contact Form 7 不发送电子邮件
如果您遇到 Contact Form 7 无法发送电子邮件的问题,请确保您在 Contact Form 7 设置中添加的“发件人”地址与您使用电子邮件发送服务配置的电子邮件地址相匹配。您还应该确保您的“发件人”和“收件人”电子邮件地址不匹配,因为这会在 Gmail 中触发警告。
就是这样:
- 转到“联系人”>“联系表单”,然后选择您遇到问题的表单。
- 在表单设置界面打开邮件选项卡。
- 确保“发件人”地址使用您网站的域名(应该是您通过电子邮件发送服务验证的域名)。
- 确保“收件人”地址与“发件人”地址不同。
- 保存您的更改。

修复 WPForms 不发送电子邮件
如果您遇到WPForms无法发送电子邮件的问题,请确保您在 WPForms 设置中添加的“发件人”地址与您使用电子邮件发送服务配置的电子邮件地址相匹配。您还应该确保您的“发件人”和“收件人”电子邮件地址不匹配,因为这会在 Gmail 中触发警告。
就是这样:
- 转到WPForms > 所有表格并编辑您遇到问题的表格。
- 转到表单生成器界面中的“设置”选项卡。
- 打开“设置”选项卡内的“通知”区域。
- 确保“发件人”地址使用您网站的域名(应该是您通过电子邮件发送服务验证的域名)。
- 确保“收件人”地址与“发件人”地址不同。
- 保存您的更改。

修复重力表不发送电子邮件
如果您遇到Gravity Forms无法发送电子邮件的问题,请确保您在 Gravity Forms 设置中添加的“发件人”地址与您使用电子邮件发送服务配置的电子邮件地址相匹配。您还应该确保您的“发件人”和“收件人”电子邮件地址不匹配,因为这会在 Gmail 中触发警告。
就是这样:
- 转到“表单”>“表单”并选择您遇到问题的表单。
- 在表单编辑器中,转到设置 > 通知。
- 编辑未正确发送的电子邮件通知。
- 确保“发件人”地址使用您网站的域名(应该是您通过电子邮件发送服务验证的域名)。
- 确保“收件人”地址与“发件人”地址不同。
- 单击底部的更新通知按钮。

修复忍者表单不发送电子邮件
如果您遇到 Ninja Forms 无法发送电子邮件的问题,请确保您在 Ninja Forms 设置中添加的“发件人”地址与您使用电子邮件发送服务配置的电子邮件地址相匹配。您还应该确保您的“发件人”和“收件人”电子邮件地址不匹配,因为这会在 Gmail 中触发警告。
就是这样:
- 转到Ninja Forms > Dashboard并编辑您遇到问题的表单。
- 在表单生成器界面中选择电子邮件和操作选项卡。
- 单击导致问题的电子邮件通知旁边的齿轮图标。这将在滑出式面板中打开电子邮件设置。
- 展开高级切换以查看“发件人”电子邮件地址。如果您没有看到“发件人”电子邮件地址,则需要通过转至WordPress 主仪表板中的Ninja Forms > Settings并选中Form Builder“Dev Mode”复选框来启用开发人员模式。
- 确保“发件人”地址使用您网站的域名(应该是您通过电子邮件发送服务验证的域名)。
- 确保“收件人”地址与“发件人”地址不同。
- 单击完成按钮。

修复其他 WordPress 表单插件不发送通知电子邮件
如果您通读了上面所有不同表单插件的说明,您可能会注意到每个插件的说明几乎相同。
这是有原因的——一旦您为您的站点设置了专用的电子邮件发送服务,通常唯一剩下的就是您的表单插件通知的“收件人”和“发件人”电子邮件地址配置错误。
基本思路如下:
- 您的“发件人”电子邮件地址应使用您网站的域名,该域名应与您通过电子邮件发送服务验证的域名相同。
- 您的“收件人”电子邮件地址不应与“发件人”电子邮件地址相同,因为这会在 Gmail 和其他电子邮件客户端中引发错误。
如何测试 WordPress 电子邮件是否正在发送
实施上述策略后,您就可以运行测试来评估您的 WordPress 网站的电子邮件送达能力。
如果您使用了上述教程中的 WP Mail SMTP 插件,它包含一个内置功能,可让您向任何地址发送测试电子邮件。大多数其他 SMTP 插件也提供类似的功能。
要访问它,请转到WP Mail SMTP > 工具 > 电子邮件测试。
首先,您可以向您自己的地址发送一封电子邮件,看看它是否到达您的收件箱:

如果您想更深入地分析垃圾邮件,您还可以向 Mail Tester 等工具发送测试电子邮件,这将帮助您评估您的 WordPress 网站发送的电子邮件的“垃圾邮件”外观。这有助于诊断错误配置的身份验证技术(例如 DKIM)的问题。
它是这样工作的:
- 转到 Mail Tester并复制它为您提供的电子邮件地址。
- 打开 WP Mail SMTP 电子邮件测试工具,并从 Mail Tester 向电子邮件地址发送一封测试电子邮件。
- 返回 Mail Tester 并单击Then check your score按钮。
- 查看结果并根据需要调整您的 WordPress 电子邮件配置。
立即修复“WordPress 电子邮件未发送”问题。
如果您按照上述步骤操作,您应该能够永久解决 WordPress 电子邮件不发送问题。
上述方法的好处在于它应该修复您网站发送的所有电子邮件,无论它们是密码重置电子邮件、来自您的联系表单插件的电子邮件、WooCommerce 交易电子邮件等等。
立即实施这些策略并享受更可靠的 WordPress 电子邮件。
或者,如果您的 WordPress 表单对您的业务至关重要,并且您不想担心电子邮件的送达问题,另一种选择是使用免费的 HubSpot WordPress 插件。
为了帮助您创建表单,HubSpot WordPress 插件包括拖放式表单生成器。
不过,HubSpot 比其他表单插件更进一步的地方在于,您使用 HubSpot 创建的所有表单都会自动使用 HubSpot 的内置电子邮件发送服务,从第一天起就可实现一流的交付能力。
如果您想尝试一下,可以从安装 WordPress.org 目录中的免费 HubSpot WordPress 插件开始。