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

网站所有者之间的一个常见问题是WordPress无法正确发送电子邮件或根本无法发送电子邮件。

大多数托管WordPress托管服务提供商不提供电子邮件托管服务。但是,这并不意味着您不能从WordPress安装发送电子邮件。这意味着您的WordPress站点将能够发送通知、WooCommerce订单确认和其他类型的站点相关电子邮件。

通常,当您尝试修复WordPress不发送电子邮件的问题时,这不是服务器上的问题,而是WordPress安装中的电子邮件设置不正确或不兼容。

在这篇文章中,我们将向您展示如何确定WordPress不向您或您的用户发送电子邮件的原因,并向您展示如何解决它。无论您运行的是常规WordPress网站还是WooCommerce商店,我们都会向您展示如何重新启动和运行电子邮件。

我们还将研究一些最流行的联系表单插件,并准确确定每个插件在发送电子邮件时可能出现问题的原因。

  1. 为什么WordPress不发送电子邮件
  2. 如何防止WordPress电子邮件变成垃圾邮件
  3. 如何在WordPress中设置SMTP以发送电子邮件
  4. 如何配置您的表单插件以正确发送电子邮件

为什么WordPress不发送电子邮件

您可能会遇到WordPress不发送电子邮件的问题的原因有几个。这些包括:

  1. 电子邮件正在发送但将成为垃圾邮件
  2. 您的服务器配置不正确
  3. 您的联系表单插件正在发送“欺骗”电子邮件

让我们来看看如何确定哪些可能导致问题。

1. 电子邮件正在发送但变成垃圾邮件

在运行任何其他测试之前,请确保来自WordPress的电子邮件不会成为垃圾邮件。

如果用户向您报告WordPress没有发送电子邮件,则可能只是他们的电子邮件将成为垃圾邮件。

请他们检查垃圾邮件文件夹中是否有来自系统的电子邮件。一些电子邮件客户端可能会将来自WordPress的电子邮件识别为垃圾邮件,因为它们是自动化的。

2.你的服务器配置不正确

WordPress不发送电子邮件的一个常见原因是您的服务器未配置为发送它们。

Web服务器不是为发送电子邮件而设计的,可能是您的服务器未配置为使用该PHP mail()功能。

好消息是,您可以轻松检查这是否是导致问题的原因——并且您可以修复它。

如何测试服务器是否正在发送电子邮件

您可以做的第一件事是使用免费的Check Email插件在您的WordPress网站上运行测试。

这是一个基本插件,旨在测试您的WordPress安装和/或服务器是否可以发送电子邮件。

安装后,转到WordPress仪表板中的工具 > Check Email。输入要向其发送测试的电子邮件地址,然后单击“Send test email”

发送测试邮件

发送测试邮件

然后您将看到确认信息。

测试邮件确认

测试邮件确认

检查您的电子邮件客户端,看看您是否收到了测试电子邮件。主题行将显示为“来自 https://yourdomain.com 的测试电子邮件”。

收到邮件测试

收到邮件测试

此外,请务必检查您的垃圾邮件或垃圾邮件文件夹。如果您收到一封电子邮件,则意味着WordPress可以在您的Web服务器上正常发送电子邮件。

如果您仍然没有收到电子邮件,这意味着很可能是您的联系表单插件配置错误或不兼容。您可以随时联系插件开发人员寻求帮助。让他们知道您运行了上述测试,并且该电子邮件正在处理您的WordPress安装本身。或者按照以下步骤获取一些最常用的联系表单插件。

如果您遇到连接问题,您可能还需要尝试其他端口。您的主机可能阻止了该端口。

某些云平台,默认情况下会阻止端口25上的出站连接。据谷歌称,“这个出站SMTP端口被阻止,因为该端口容易受到大量滥用。” 在这种情况下,请尝试使用备用端口,例如2525。

3. 您的联系表单插件正在发送“欺骗”电子邮件

如果您已经运行了上面的测试并且您的服务器配置为发送电子邮件,那么这意味着从您的WordPress站点发送电子邮件的插件存在问题。

这很可能是一个联系表单插件

联系表单插件发送的电子邮件有时会被电子邮件客户端识别为欺骗性电子邮件。这些类似于垃圾邮件:电子邮件客户端会将它们标记为可疑。

联系表单电子邮件区域有时被视为欺骗的原因是它们发送的地址与您收到的电子邮件中添加到发件人:字段的地址不同。

因此,如果您已将联系表单配置为使用填写表单的人的电子邮件地址填充发件人:字段,但该电子邮件实际上来自您的 WordPress 站点,那么您的电子邮件客户端将怀疑该电子邮件并可能将其标记为恶搞。

如果电子邮件从同一电子邮件地址发送或发送到同一电子邮件地址,您也可能会遇到问题。因此,如果您的表单插件从您的管理员电子邮件地址(默认情况下)发送电子邮件,并且您还配置了将它们发送到该地址,则某些电子邮件提供商可能不喜欢它。与“欺骗”电子邮件问题相比,这不太可能成为问题。

对于联系表格,通知电子邮件的收件人通常是您。这意味着您可以更改联系表单插件中的设置来解决此问题,并且您可以轻松测试是否收到了电子邮件。

联系表单插件受影响

任何联系表单插件都可能受此问题影响。以下是您可能遇到此问题的一些插件:

  • Contact Form 7
  • Gravity Forms
  • Ninja Forms
  • Happy Form
  • weForms
  • Jetpack Contact Form
  • Formidable Forms

我将向您展示如何解决每个联系表单的电子邮件未发送的问题。首先,让我们来看看如何解决WordPress不为我们确定的每个原因发送电子邮件的问题。

如何防止WordPress电子邮件变成垃圾邮件

1. 将电子邮件地址列入白名单

如果电子邮件将成为垃圾邮件,您可以通过将您的电子邮件地址添加到他们的联系人中来要求您的用户将您的电子邮件列入白名单。

在Gmail中,如果他们将电子邮件移至收件箱,那应该意味着将来来自该地址的电子邮件不会被移至垃圾邮件 – 但将地址也添加到联系人将是最安全的。

2. 使用更安全的电子邮件地址

您可能还想查看您的站点发送电子邮件的电子邮件地址。默认情况下,这将是您的管理员电子邮件地址。如果这是info@ 、contact@ 、sales@或类似的东西,那么电子邮件提供商可能会假设它是垃圾邮件。

尝试将电子邮件地址更改为看起来更专业的内容,并确保发送到该地址的所有电子邮件都被转移到您的正常地址,这样您就不会错过任何回复。您可以通过为您的电子邮件地址创建别名来做到这一点。

3. 设置电子邮件身份验证

您的WordPress电子邮件可能会成为垃圾邮件的另一个原因是您的域名尚未通过电子邮件正确验证。

遵循我们的电子邮件身份验证指南,以确保它正常工作。

如何在WordPress中设置SMTP以发送电子邮件

如果您已经运行了上面的电子邮件测试并且根本没有从您的站点发送电子邮件,那么您需要使用第三方SMTP提供商并将其与您的站点链接,以便它再次发送电子邮件。

SMTP代表简单邮件传输协议。它在网络上和跨网络移动电子邮件。因此,如果您的服务器未配置为发送电子邮件,它将使其成为可能。

有许多SMTP供应商可供选择,包括一些免费供应商(如Gmail的SMTP服务器,国内不可用;国内可以选QQ或者163企业邮箱):因此这不需要您花任何钱,只需一点时间。

要进行设置,请按照我们的指南,在WordPress中使用免费的SMTP服务器

如何配置您的表单插件以正确发送电子邮件

如果您的服务器配置为发送电子邮件,但您仍然遇到无法发送表单条目的问题,这可能意味着您需要调整表单的设置。

让我们来看看您应该为每个最流行的表单插件做什么才能让这些电子邮件再次发送。

对于其中的每一个,我假设您已经尝试将SMTP添加到您的站点,或者您的服务器已经在发送电子邮件(并且您已经检查了垃圾邮件文件夹),但是电子邮件仍然没有通过。

修复Contact Form 7不发送电子邮件

Contact Form 7是最古老和最受欢迎的免费WordPress表单插件之一。

如果您在发送电子邮件时遇到问题(并且您知道您的服务器正在发送电子邮件),则解决方法是更改​​发送电子邮件的地址。

在您的WordPress管理后台中,转到Contact > Contact Forms

Contact Form 7

Contact Form 7

选择您创建的表单并打开Mail选项卡。

联系表格中的电子邮件选项卡

联系表格中的电子邮件选项卡

确保From字段包含您网站的管理员电子邮件地址,而不是表单中输入的电子邮件地址。您可以在Reply to字段中使用它,但不能在From字段中使用它。

避免对“From和“To字段使用相同的电子邮件地址。使用与您网站使用的电子邮件地址不同的电子邮件地址。

保存您的更改。

现在通过自己填写表格来测试一下。

修复Gravity Forms不发送电子邮件

Gravity Forms是最受欢迎和备受推崇的高级表单插件之一。与使用Contact Form 7相比,您不太可能遇到不是从这个插件发送的电子邮件的问题,但如果确实发生了。您可以在插件文档中找到详细的指南。

Gravity Forms文档

Gravity Forms文档

按顺序完成文档中的选项,直到一切恢复正常。

修复Ninja Forms不发送电子邮件

Ninja Forms有免费版和高级版。还有很多附加组件,您可以从WordPress插件库免费下载。

如果您遇到与使用Ninja Forms的电子邮件相关的问题,推荐的解决方案是使用由同一团队开发的SendWP插件。

SendWP

SendWP

SendWP旨在让SMTP在您的服务器上运行——您也可以使用免费插件来实现。如果问题与您的服务器不发送电子邮件无关,SendWP不会修复它。

因此,如果您不想为SendWP支付每月9美元的费用,请尝试按照其文档中的电子邮件故障排除指南进行操作。

修复HappyForms不发送电子邮件的问题

HappyForms是另一个具有免费和高级版本的插件。

HappyForms

HappyForms

HappyForms有一个帮助指南,但这并没有详细说明如果它的电子邮件没有发送该怎么办。

要更改发送Happy Forms的电子邮件地址,您可以编辑单个表单的电子邮件设置,与Contact Form 7类似。

转到HappyForms > All Forms并选择要编辑的表单。这将打开一个看起来像定制器的界面。

打开Email选项卡。

Happyforms电子邮件选项卡

Happyforms电子邮件选项卡

您可以在此处自定义通知和确认的ToFrom地址,以确保您不会发送欺骗性电子邮件。

进行更改后,单击顶部的“Email按钮并测试您的表单。

修复weForms不发送电子邮件

weForms是另一个具有免费和高级版本的表单插件。它允许您将插件配置为通过一系列电子邮件提供商使用电子邮件,包括WordPress本身、SendGrid或其他。

它有一个故障排除指南,可帮助您解决weForms不发送电子邮件的问题。按照指南确定问题的根源并让您的电子邮件重新正常工作。

修复Jetpack联系表单不发送电子邮件

如果您正在运行Jetpack插件,您可能会使用它附带的基本联系表。您可以通过向页面添加表单区块或在WordPress中发布来实现此目的。

Jetpack没有专用表单插件那么多的配置选项,但您可以更改电子邮件发送到的地址。

由于Jetpack不使用电子邮件的“To或“From字段中的表单字段,因此您不太可能遇到与电子邮件相关的问题。如果您确实遇到问题,那将是因为您向同一地址发送电子邮件或从同一地址发送电子邮件。

添加表单后,单击其上方的编辑图标,将出现一个下拉菜单。使用它来更改发送表单的地址。

Jetpack联系表

Jetpack联系表

如果您想更改发送表单的地址,则必须更改您网站的管理员电子邮件地址,因为这是Jetpack表单使用的地址。

修复Formidable Forms不发送电子邮件

Formidable Forms是另一个具有免费和高级版本的表单插件。如果您在Formidable Forms中从联系表单发送电子邮件时遇到问题,官方文档建议将SMTP添加到您的站点。

但是,如果您已经这样做了,但仍然无法正常工作怎么办?好吧,这很可能是因为您的电子邮件被标记为“欺骗”电子邮件,因为它们是从不是真正的发送地址的地址发送的。

在WordPress管理后台中,转到Formidable > Forms,然后选择要编辑的表单。单击顶部的Settings选项卡,然后单击侧面的Actions & Notifications选项卡。从这里,打开Email notification元框。

Formidable Forms电子邮件通知设置

Formidable Forms电子邮件通知设置

您可以在此处编辑发送通知电子邮件的地址。默认情况下,它将使用管理员电子邮件地址,而不是从表单中获取的电子邮件地址。

要更改电子邮件发送到的地址(因此它们不是从同一地址发送的),请编辑To字段并手动输入您要使用的电子邮件地址。

设置屏幕将在您进行更改时保存更改,因此请确保检查您输入的内容是否正确。

小结

有时WordPress不发送电子邮件,您可能正在努力找出原因。这个问题是最常见的WordPress错误之一,可能是因为电子邮件将成为垃圾邮件,因为您的服务器未配置为发送电子邮件,或者因为您的联系表单中的设置需要更改。

按照上面的指南诊断您的WordPress网站不发送电子邮件的原因并解决问题。您应该很快就能使电子邮件正常工作!