WPBeginner 上最常见的问题之一是如何修复 WordPress 不发送电子邮件的问题。

许多初级用户问我们为什么他们的联系表单插件不发送电子邮件,或者为什么他们没有看到任何 WordPress 通知。

在本文中,我们将向您展示如何解决 WordPress 不发送电子邮件的问题,以便您的网站可以更可靠地发送电子邮件并绕过垃圾邮件文件夹。

为什么您没有从 WordPress 网站收到电子邮件

电子邮件丢失的最常见原因是您的 WordPress 托管服务器未正确配置为使用 PHP mail() 函数。

即使您的主机配置为使用它,许多电子邮件服务提供商(例如 Gmail 等)也会使用各种工具来减少垃圾邮件。这些工具尝试检测电子邮件是否确实来自其声称的位置。

WordPress 网站发送的电子邮件通常是进行此测试。

这意味着当电子邮件从您的 WordPress 网站(联系表单插件、管理员通知等)发出时,它甚至可能不会进入收件人的垃圾邮件文件夹,更不用说收件箱了。

这就是我们建议不要使用 WordPress 发送电子邮件简讯的原因。

这也是我们推荐大家在WordPress中使用SMTP发送邮件的原因。

什么是 SMTP?

SMTP(简单邮件传输协议)是发送电子邮件的行业标准。

与 PHP mail() 函数不同,SMTP 使用正确的身份验证,从而实现较高的电子邮件送达率。

WordPress 有一个 WP Mail SMTP 插件,可将您的 WordPress 站点配置为使用 SMTP 而不是 PHP mail() 函数发送电子邮件。

您可以使用它连接任何流行的 SMTP 服务,例如 SendLayer、Sendinblue、Gmail (G Suite)、Office365、Amazon SES 等。

话虽如此,让我们看看如何解决这个问题WordPress 不发送电子邮件问题。

视频教程

订阅 WPBeginner

如果您更喜欢书面说明,请继续阅读。

安装 WP Mail SMTP 插件

无论您选择哪种 SMTP 服务,您都需要在您的站点上安装 WP Mail SMTP 插件。这使您可以将 WordPress 从使用内置 PHP mail() 函数切换为使用 SMTP 服务。

首先,安装并激活 WP Mail SMTP 插件。如果您不确定如何安装,请参阅我们有关如何安装 WordPress 插件的分步指南。

接下来,单击 WordPress 仪表板中的 WP Mail SMTP 以配置插件设置。

您需要首先输入您希望网站电子邮件来自的姓名和企业电子邮件地址。确保您在此处使用的电子邮件地址与您将用于 SMTP 邮件服务的电子邮件地址相同。

你可以选择强制电子邮件使用此名称和电子邮件地址,即使其他插件(例如 WPForms)具有不同的设置。 WP Mail SMTP 将覆盖其他插件的设置。

之后,您需要为您的站点选择 SMTP 邮件服务。

在本教程中,我们将使用 SendLayer 设置 SMTP。如果您更愿意使用 Gmail 或 Office365,我们也会在本文后面提供有关这些内容的说明。

要完成 WP Mail SMTP 设置,您需要使用 SendLayer 创建一个帐户。我们将继续下一步,然后返回完成 WP Mail SMTP 的设置。

使用 SendLayer 发送 WordPress 电子邮件

SendLayer 是一家可靠的电子邮件服务提供商。它们可让您以高送达率发送大量电子邮件。

您可以使用SendLayer免费发送最多200封电子邮件,这对于大多数小型网站来说已经足够入门了。

这些可能是您的联系表单中的电子邮件、新用户帐户详细信息、密码恢复电子邮件或通过您的 WordPress 网站发送的任何其他电子邮件。

首先,您需要访问 SendLayer 网站创建一个帐户。在定价页面上,点击“免费试用 SendLayer(最多发送 200 封电子邮件)”链接来设置您的帐户。

创建帐户后,您将看到 SendLayer 仪表板,如下所示:

现在您已经有了 SendLayer 帐户,让我们使用 WordPress 设置您的电子邮件提供商。

将您的 WordPress 网站与 SendLayer 连接

在使用 SendLayer 发送电子邮件之前,您需要授权您的域。

这向电子邮件服务器证明您是发送域的确认所有者,并且您的电子邮件是从合法来源发送的。

要授权您的域,请单击橙色 ‘SendLayer 仪表板上的“添加域”按钮。

在下一页上,只需在提供的字段中输入您的域名即可。

然后,单击“添加域”按钮。

注意:对于 Sendinblue 等其他邮件服务,您需要首先为您的网站设置子域。但是,SendLayer 会自动将子域添加到发件人域的 DNS 记录中。因此,您在注册域名时无需添加额外的子域名。

添加域后,SendLayer 将生成 5 个 DNS 记录,这些记录对于您的域来说是唯一的。

这几行代码让 SendLayer 授权您的域名。

您需要将这些 DNS 记录添加到您的 WordPress 网站。这可能看起来很复杂,但您所需要做的就是将它们复制并粘贴到正确的位置。

首先,打开一个新的浏览器选项卡并登录您的 WordPress 托管帐户。为了本教程的目的,我们将在 Bluehost 上的示例托管帐户上进行演示。

接下来,您需要找到您的域并打开 DNS 记录。

在 Bluehost 中,您可以通过转到域名 » 我的域名来执行此操作。然后,点击您的域旁边的“管理”按钮。

注意:如果您使用其他托管公司,或者您的 DNS 由 Domain.com、Network Solutions 或 GoDaddy 等域名注册商管理,请按照他们各自的说明进行操作。

在下一页上,单击“DNS”选项卡。在这里,您需要添加 SendLayer 提供的 4 条 CNAME 记录和 1 条 TXT 记录。

首先,向下滚动找到 DNS 记录的 CNAME 部分。它看起来像这样:

然后,点击“添加记录”。

按如下所示完成第一条记录:主机记录:slPoints To(值):从 SendLayer.TTL 复制此内容:4 小时(分钟)

提示:主机记录可能被您的网络主机称为“主机”或“名称”。添加时主机记录,请确保仅添加子域 (sl),因为 Bluehost 会自动添加您的域。您可能需要添加记录类型,即 CNAME。

添加第一条记录后,单击“保存”按钮来存储您的更改。

接下来,重复上述步骤,继续添加另外 3 条 CNAME 记录。

之后,再次向下滚动以查找 DNS 记录的 TXT 部分。这里,您需要添加来自SendLayer的TXT记录。

点击“添加记录”按钮并按如下方式完成:

主机记录:slTXT 值:从 SendLayer 复制此内容。 TTL:4 小时(分钟)

完成后,也可以保存该记录。

注意:TXT Value 也可以称为 TXT 数据:它是 SendLayer 详细信息最后一行中的一长段代码。 TTL 可以是 24 小时或 86400 秒(两者都相当于 1 天)。如果您使用的是 GoDaddy,请将其设置为 1 小时。

添加记录后,返回 SendLayer 并选中“我已添加这些 DNS 记录并准备好继续”旁边的框。然后,点击“验证 DNS 记录”按钮。

SendLayer 可能需要 24-48 小时才能验证您的记录,但通常要快得多。

如果单击该按钮后没有任何反应,则记录尚无法验证。您可以稍后从 SendLayer 仪表板转至设置 » DNS 记录和设置再次检查它们是否已通过验证。

在这里,您可以在一个位置找到所有 DNS 记录的列表。您的域名成功授权后,您将在“状态”列中的每个 DNS 记录旁边看到绿色复选标记。

在等待授权发生期间,您可以继续学习本教程。

完成设置 WP Mail SMTP 以使用 SendLayer

现在,返回 WordPress 仪表板中的 WP Mail SMTP 设置。您应该已经输入了发件人电子邮件和发件人姓名,但如果没有,您现在就可以输入。

接下来,点击您的邮件程序的“SendLayer”。

之后,您需要转到您的 SendLayer 帐户来查找您的 API 密钥。

从 SendLayer 仪表板中,只需转到设置 » API 密钥页面。在这里,您将看到您在 SendLayer 中授权域时生成的默认 API 密钥。

您可以通过单击复制图标从此页面复制 API 密钥。

完成后,您可以返回 WP Mail SMTP 设置并将 API 密钥粘贴到提供的字段中:

恭喜。现在你已经设置好了一切。最后一步是发送测试电子邮件以确保一切正常。

转到 WP Mail SMTP 的“电子邮件测试”选项卡,然后输入要发送电子邮件的电子邮件地址。这个无线将默认为网站的管理员电子邮件。点击“发送电子邮件”。

您应该看到消息“测试 HTML 电子邮件已成功发送!”检查您的收件箱以查看邮件是否已到达。它看起来像这样:

注意:如果您的 SendLayer 帐户尚未激活,您将收到消息:[permission_denied]:无法发送电子邮件。您的 SMTP 帐户尚未激活。

修复 WordPress 电子邮件问题的替代方法

正如您从 WP Mail SMTP 插件的邮件程序选项列表中看到的,您不必使用 SendLayer。虽然这是我们最推荐的免费软件,但您还可以使用其他选项,包括 Office 365、Gmail / G Suite、Amazon SES 等。

使用 Gmail 或 G Suite 与 WP Mail SMTP 修复 WordPress 电子邮件

如果您有 Gmail 或 G Suite 帐户,则可以使用它来发送电子邮件。您无需输入电子邮件日志当您使用 WP Mail SMTP 插件时,WordPress 中的详细信息。

要使用 Gmail 或 G Suite,请按如上所示设置 WP Mail SMTP,然后点击邮件程序的“Google”选项。

您需要选中“返回路径”框。

之后,系统会要求您输入“客户端 ID”和“客户端密钥”。要获取这些详细信息,您需要在 Google 帐户中创建一个网络应用程序。如果这听起来有点令人畏惧,请不要担心。您可以在本文中找到有关使用 Gmail 发送 WordPress 电子邮件的完整说明。

注意:您可以通过常规 Gmail 帐户使用此流程,但如果您使用 G Suite,您的电子邮件送达率会更好。请参阅我们的指南,了解如何使用 Gmail 和 G Suite 设置专业电子邮件地址。

但是,使用 Gmail 或 G Suite 有几个主要缺点。

其中之一是您可能需要联系您的网络托管服务商以获取m 安装正确的证书以使其正常工作。

另一个是,如果您将来更改电子邮件地址,则需要重新完成整个过程。这将包括创建一个新的 Web 应用程序。

使用 Office 365 / Outlook 和 WP Mail SMTP 修复 WordPress 电子邮件

如果您使用 Microsoft Office 365 或 Outlook 作为常规电子邮件帐户,那么您也可以使用它们通过 WordPress 发送电子邮件。不过,这不是推荐的选项,因为它不太安全。

您需要如上所述设置 WP Mail SMTP,然后单击“其他 SMTP”选项。这将打开一个需要填写的表格。使用以下设置填写:

SMTP 主机:smtp.office365.com 加密:TLSSMTP 端口:587自动 TLS:(保持打开状态)身份验证:(保持打开状态)SMTP 用户名:您的 Office 365 帐户电子邮件地址SMTP 密码:您的 Office 365 帐户密码

我的一个关键问题事实是,它需要在 WordPress 中以纯文本形式存储您的密码。这并不安全,您帐户上的任何其他管理员都可以看到您的密码。您可以使用 WP Mail SMTP 应用程序中的说明将其记录在您的 wp-config.php 文件中。

有关更多详细信息,请参阅有关如何使用 WP Mail SMTP 设置 Outlook 的详细指南。

使用 Amazon SES 与 WP Mail SMTP 修复 WordPress 电子邮件

Amazon AWS 平台有一个简单电子邮件服务 (SES),您可以使用它来修复 WordPress 电子邮件问题。

亚马逊最好的部分是,它可以让您每月免费发送多达 62,000 封电子邮件。缺点是该设置对于初学者来说更具挑战性,这就是为什么我们不推荐它作为我们的首选。

但正如您可以想象的那样,许多专业人士和专家将 Amazon SES 用于他们的 WordPress 电子邮件 SMTP 服务,因此我们无法在不提及它的情况下撰写文章。

如果您有兴趣通过 WordPress 设置 Amazon SES,请参阅有关如何通过 WordPress 设置 Amazon SES 的完整说明。

无论您决定使用哪种邮件程序,请始终记住使用“测试电子邮件”选项卡以确保电子邮件成功发送。

您还必须确保检查您的收件箱,并确认您已收到测试电子邮件。

我们希望本文能帮助您了解如何解决 WordPress 不发送电子邮件的问题。您可能还想查看我们最常见的 WordPress 错误列表以及如何修复它们,或者我们精选的最佳 WooCommerce 电子邮件定制器插件。

如果您喜欢这篇文章,请订阅我们的 WordPress 视频教程 YouTube 频道。您还可以在 Twitter 和 Facebook 上找到我们。

By

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注