十一年专注,只做WordPress定制开发一件事

如何修复WordPress不发送电子邮件的问题

王超
2024-02-20
主题开发
161 次

我们的许多初学者用户问我们为什么他们的联系表单插件没有发送电子邮件,或者为什么他们没有看到任何 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、Brevo(以前称为 Sendinblue)、Gmail (Google Workspace)、Amazon SES 等。

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

步骤1:安装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。

要完成WP Mail SMTP的设置,您需要使用SendLayer创建一个帐户。接下来我们将继续讨论,然后回到WP Mail SMTP上完成设置,因此请确保保持此选项卡处于打开状态。

第 2 步:设置 SMTP 邮件服务

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

您可以使用 SendLayer 免费发送多达 200 封电子邮件,这对于大多数小型网站来说已经绰绰有余了。

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

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

创建帐户后,你将看到 SendLayer 仪表板。

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

第 3 步:将您的 WordPress 网站与 SendLayer 连接

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

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

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

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

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

注意:对于其他邮件服务,如Brevo(以前称为Sendinblue),您需要先为您的网站设置一个子域。但 SendLayer 会自动将子域添加到发件人域的 DNS 记录中。

因此,您在注册域时无需添加额外的子域。

添加域后,SendLayer 将显示 5 条需要添加到域的 DNS 记录设置中的 DNS 记录。

这些代码行允许 SendLayer 授权您的域名。

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

在本教程中,我们将使用我们的托管帐户演示我们的示例 Bluehost.

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

首先,打开一个新的浏览器选项卡并登录您的 WordPress 托管帐户。然后,找到您网域的 DNS 记录。

在 Bluehost 中,您可以通过转到“域”来执行此操作。然后,单击要与 SendLayer 连接的域旁边的“设置”。

在下一页上,向下滚动到“高级工具”部分。

之后,单击“高级DNS记录”旁边的“管理”按钮。

您将看到一条警告消息,指出 DNS 记录应由高级用户编辑。不要担心这条消息,因为这个过程非常简单。

继续并单击“继续”继续。

现在,让我们开始添加 SendLayer 提供的 DNS 记录。

首先,选择 DNS 记录的类型。在本例中,我们将使用 CNAME 作为第一条记录。

在“引用”部分,点击“其他主机”。稍后,您将为所有 DNS 记录选择相同的选项。

向下滚动,您将看到三个字段:主机名、别名和 TTL。

主机名应使用 SendLayer 提供的“Hostname”中的值填充。别名应填充“值”中的值。至于TTL,您可以将其保留在15分钟。

下面的屏幕截图显示了我们添加第一个 CNAME 记录时的屏幕外观。

完成后,只需单击“添加”。

您可以对所有 DNS 记录(CNAME 和 TXT)重复这些步骤。

添加 TXT 记录时,请确保将 SendLayer 中的“主机名”值粘贴到“主机名”字段中,将“值”中的值粘贴到“TXT 值”字段中。

下面是它的样子:

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

然后,点击“验证DNS记录”按钮。

可能需要 24-48 小时才能 SendLayer 验证您的记录。根据我们的经验,这需要几个小时。

如果单击该按钮时没有任何反应,则尚无法验证记录。您可以稍后再次检查,通过转到“设置”并从SendLayer仪表板导航到“DNS记录和设置”选项卡来查看它们是否已通过验证。

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

在等待授权进行的同时,可以继续学习本教程。

步骤4:完成设置WP Mail SMTP以使用SendLayer

让我们完成设置。首先,转到您的 SendLayer 帐户以查找您的 API 密钥。

在 SendLayer 仪表板中,只需转到“设置”»“API 密钥”页面。在这里,你将看到一个默认的 API 密钥,该密钥是在你在 SendLayer 中授权域时生成的。

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

这样:

完成后,您可以返回WP Mail SMTP设置向导选项卡。

然后,在适当的地方粘贴 API 密钥。

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

转到WP Mail SMTP » Tools。在“电子邮件测试”标签中,输入要向其发送电子邮件的电子邮件地址。这将默认为站点的管理员电子邮件。点击“发送电子邮件”。

您应该会看到消息“测试 HTML 电子邮件已成功发送!

检查您的收件箱,看看它是否已到达。它看起来像这样:

注意:如果您的 SendLayer 帐户尚未激活,您将收到以下消息:.[permission_denied]: Unable to send email. Your SMTP account is not yet activated

解决WordPress不发送电子邮件问题的替代方法

从WP Mail SMTP插件的邮件选项列表中可以看出,您不必使用SendLayer。虽然这是我们的顶级免费推荐,但您可以使用其他选项,包括 Microsoft 365、Gmail (Google Workspace)、Amazon SES 等。

使用Gmail或Google Workspace与WP Mail SMTP修复WordPress电子邮件

如果您有 Gmail,那么您可以使用它来发送电子邮件。当您使用 WP Mail SMTP 插件时,您无需在 WordPress 中输入您的电子邮件登录详细信息。

要使用Gmail或Google Workspace,请如上图所示设置WP Mail SMTP,然后单击邮件发送者的“Google / Gmail”选项。

接下来,您可以使用WP Mail SMTP的一键式设置来配置邮件程序设置。

此方法不需要您创建自己的应用程序,这要容易得多。您只需登录您的Gmail帐户,然后单击“保存设置”。

但是,使用专业的 Gmail 或 Google Workspace 有几个主要缺点。

一是您可能需要联系您的虚拟主机,让他们安装正确的证书以使其正常工作。

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

使用 Microsoft 365 和 WP Mail SMTP 修复 WordPress 电子邮件

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

您需要如上所述设置WP Mail SMTP,然后在选择SMTP邮件时单击“365 / Outlook”选项。然后,您需要在 Microsoft Azure 上注册一个应用,以便填写以下字段。

将 Amazon SES 与 WP Mail SMTP 结合使用以修复 WordPress 电子邮件

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

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

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

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

无论您决定使用哪种邮件,请始终记住使用“测试电子邮件”功能来确保电子邮件成功发送。

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

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

最后,我们当然也可以是使用国内的比如网易邮箱,腾讯邮箱,甚至是阿里云企业邮箱来设置smtp,这样的方法网上有很多,暂时在这里就不做介绍了。

WordPress日记主要承接WordPress主题定制开发PSD转WordPressWordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310

搜索

嘿,有问题找我来帮您!