首页 » 博文 » wpbeginner » 最佳插件 » 如何解决 WordPress 不发送电子邮件的问题

如何解决 WordPress 不发送电子邮件的问题

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

我们的许多初级用户问我们为什么他们的联系表单插件不发送电子邮件,或者为什么他们没有看到任何 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 不发送电子邮件的问题。

视频教程

https://www.youtube.com/embed/t1XkyXS3mos?version=3&rel=0&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent订阅 WPBeginner

https://www.youtube.com/subscribe_embed?usegapi=1&channel=wpbeginner&layout=default&count=default&origin=https%3A%2F%2Fwpbeginner.com&gsrc=3p&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.vQiXRrxCe40.O%2Fam%3DAQ%2Fd%3D1%2Frs%3DAGLTcCMBxIGVyXSdvvcs43a64yHt_P7dfg%2Fm%3D__features__#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh&id=I0_1448178294715&parent=https%3A%2F%2Fwpbeginner.com

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

安装 WP 邮件 SMTP 插件

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

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

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

WordPress 仪表板中的 WP Mail SMTP 设置页面

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

输入您希望 WordPress 电子邮件来自的姓名和电子邮件地址

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

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

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

在 WP Mail SMTP 中选择 SendLayer 作为您的邮件程序

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

使用 SendLayer 发送 WordPress 电子邮件

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

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

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

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

单击 SendLayer 免费试用链接

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

SendLayer 仪表板

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

使用 SendLayer 连接您的 WordPress 网站

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

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

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

单击 SendLayer 中的“添加域”按钮

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

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

在 SendLayer 中添加您的域

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

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

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

SendLayer DNS记录表

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

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

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

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

单击 Bluehost 中您的域名旁边的“管理”按钮

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

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

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

从 Bluehost 中的 SendLayer 添加 CNAME 记录

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

如下完成第一条记录:
主机记录: sl
指向(值):从 SendLayer 复制此记录。
TTL: 4 小时(分钟)

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

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

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

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

从SendLayer添加TXT记录

单击“添加记录”按钮并完成如下操作:

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

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

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

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

验证 DNS 记录 SendLayer

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

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

SendLayer DNS TXT 记录经过验证后

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

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

完成设置 WP Mail SMTP 以使用 SendLayer

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

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

在 WP Mail SMTP 中选择 SendLayer 作为您的邮件程序

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

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

查找 SendLayer API 密钥

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

点击复制SendLayer中的API密钥

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

将 SendLayer API 密钥粘贴到 WP Mail SMTP 中

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

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

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

来自 WP Mail SMTP 的测试电子邮件

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

修复 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 有几个主要缺点。

一是您可能需要联系您的网络托管服务商,让他们安装正确的证书才能使其正常工作。

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

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

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

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

SMTP 主机:smtp.office365.com
加密:TLS
SMTP 端口: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 电子邮件问题。

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

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

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

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

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

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

发表评论

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

Scroll to Top