为什么联系表格 7 不发送电子邮件?

已发表: 2020-05-13

您需要解决 Contact Form 7 不发送电子邮件的问题吗?

不用担心:我们为您提供解决方案。

在 WordPress 中,人们经常会遇到各种问题,因为他们的表单不发送电子邮件。 因此,在这篇文章中,我们将向您展示为什么 Contact Form 7 不再发送电子邮件,以及您可以做些什么来让这些联系表单电子邮件 100% 可靠地工作。

立即修复您的联系表 7 电子邮件

为什么联系表格 7 不发送电子邮件

联系表格 7 电子邮件已发送但未收到? 你并不孤单。

想象一下——您的网站表单看起来运行正常。 您的表单似乎工作得很好,访问者会收到一条成功消息。

但是联系表格电子邮件永远不会出现在您的收件箱中。

如果您使用的是联系表 7,我们将解释为什么联系表 7 不发送电子邮件很常见。

有两个主要原因:

您的电子邮件被视为垃圾邮件

欺骗电子邮件类似于垃圾邮件。 欺骗意味着其他人在伪造发件人地址。 任何涉嫌欺骗的电子邮件都很少进入收件箱。

遗憾的是,Contact Form 7 会在表单完成时通过使用默认或通用电子邮件作为“发件人”地址向您发送通知。 这通常被标记为欺骗,因为此电子邮件是通用的并且没有正确的身份验证。

因此,Contact Form 7 电子邮件通知通常会丢失,并且永远不会出现在您的收件箱中。

您的托管公司不使用 PHP 邮件功能

您可能会遇到 Contact Form 7 不发送电子邮件问题的另一个原因是 PHP 邮件功能和您的托管服务提供商。

如果您的虚拟主机不支持 PHP 邮件功能(这在当今很常见),这可能是 Contact Form 7 不发送电子邮件的原因。 WordPress wp_mail()函数依赖 PHP 邮件从您的站点发送电子邮件,包括由联系表单插件生成的电子邮件,但许多主机禁用它。

我们知道,出于这个确切原因,人们在使用 GoDaddy 发送 WordPress 发送电子邮件时遇到问题。 有些人对 A2 Hosting SMTP 有疑问,因为外部 SMTP 服务器受到限制。

即使您的主机确实允许您的站点使用 PHP 邮件,这也是一种非常糟糕的发送电子邮件的方式。 PHP 邮件非常基础,WordPress 无法将任何身份验证信息添加到它生成的电子邮件中。 这意味着您的 Contact Form 7 电子邮件可能看起来像普通垃圾邮件。 因此,即使您已正确配置所有内容,您的 Contact Form 7 消息仍有可能成为垃圾邮件。

这就是为什么我们建议使用 SMTP 插件从 WordPress 发送电子邮件,而不是单独使用默认的 PHP 邮件功能。

因此,既然您已经了解了 Contact Form 7 不发送电子邮件的原因,那么让我们来看看如何解决该问题。

如何修复联系表 7 未发送电子邮件

有两种主要方法可以解决未收到联系表电子邮件的问题:

  1. 尝试更改发件人地址
    • 创建一个新的电子邮件地址(可选)
    • 更改联系表 7 中的发件人电子邮件
  2. 将联系表 7 与 WP Mail SMTP 一起使用
    • 安装 WP 邮件 SMTP
    • 选择您的电子邮件提供商或 SMTP 服务器
    • 打开电子邮件记录(可选)

第一步不能保证有效,但我们建议检查您的 Contact Form 7 设置,因为使用默认设置不是一个好主意。

让我们先来看看。

1.尝试更改发件人地址

默认情况下,Contact Form 7 From 字段使用每个表单的通用发件人地址: [email protected]

这是一个坏主意,因为:

  • 我们中的大多数人从不创建名为“WordPress”的电子邮件邮箱或用户,因此这个发件人地址很可能根本不存在。
  • 在联系表上使用通用地址或不存在的地址会使访问者感到困惑。
  • 这也意味着当您的托管服务器发送电子邮件时,它可能看起来像垃圾邮件。 这是人们在使用 Contact Form 7 及其默认设置时遇到的常见问题。

要解决此问题,您可以使从 Contact Form 7 发送的电子邮件来自您控制的真实地址。 当您摆脱通用的“WordPress”部分时,它们看起来不太可能被欺骗。 额外的好处是,如果您的客户将来使用此电子邮件,他们实际上将能够与您联系。

创建一个新的电子邮件地址(可选)

如果您还没有可以用作发件人的邮箱,则需要在您的主机帐户中创建一个。

我们将以 Bluehost 为例向您展示如何做到这一点。

转到您的虚拟主机网站上的 cPanel 仪表板并找到电子邮件设置。

Email settings in Bluehost

找到您要用于新电子邮件帐户的域,然后单击管理

Manage email on Bluehost

在左侧,您需要单击“创建”按钮以添加新的电子邮件地址。

Create new email mailbox on Bluehost

创建电子邮件帐户屏幕上,您需要像这样设置您的邮箱:

  • :选择与您的网站匹配的域名
  • 用户名:这将是您电子邮件地址中 @ 之前的部分

Create email account in Bluehost

然后单击蓝色的创建按钮以完成此新电子邮件地址的设置。

现在让我们逐步检查您的 Contact Form 7 设置,以便从这个新邮箱发送电子邮件。

更改联系表 7 中的发件人电子邮件

让我们看看您的 Contact Form 7 电子邮件设置,看看它们是否配置正确。

单击侧边栏中的联系 » 联系表格时,您会找到所有联系表格。

Edit Contact Form 7 settings

找到您遇到问题的表格并将鼠标悬停在它上面。 单击显示Edit的链接。

Edit Contact Form 7 form

在“编辑联系表单”页面上,向下滚动一点,然后单击“邮件”选项卡。

Contact Form 7 settings in Mail tab

在联系表格 7 电子邮件设置屏幕上,将发件人字段更改为您刚刚在 cPanel 中创建的新电子邮件地址。

Contact Form 7 email sender

接下来,检查Additional headers部分是否显示

Reply-To: [your-email]

Change reply to email in Contact Form 7

在联系表上, [your-email]是电子邮件字段的名称。 因此,通过使用此标签作为回复地址,任何回复都将发送给访问者,这比将它们发送到您自己的帐户更有意义。

现在,一直向下滚动并点击Save

Save CF7 form settings

不幸的是,您可能不是高级技术人员,因此修复 #1 可能对您不起作用,特别是如果这不能完全解决问题。 幸运的是,修复 #2 为您提供了一个任何人都可以自己做的选项,即使是初学者。

因此,如果您真的想一劳永逸地解决您的电子邮件送达率问题,这里是修复 WordPress 在使用联系表 7 时不发送电子邮件的最简单方法。

2. 使用带有 WP Mail SMTP 的联系表 7

接下来,我们将在您的站点上安装 WP Mail SMTP 插件。

WP Mail SMTP 是 WordPress 最好的 SMTP 插件。 WP Mail SMTP 不是依靠您的网络托管服务器来发送电子邮件,而是通过单独的电子邮件提供商发送它们。

通过这样做,您将确保您的电子邮件每次都能送达。 它们不会被归档为垃圾邮件或被电子邮件服务器静默丢弃。

WP Mail SMTP infographic

通过 3rd 方服务发送邮件会增加重要的验证,因此这是至关重要的一步,即使您已经在 CF7 中更改了发件人地址。

有免费和付费邮件选项,因此您可以轻松找到适合您的服务。

安装 WP 邮件 SMTP

首先,您需要从您的 WP Mail SMTP 帐户下载 zip 文件。 您可以在“下载”选项卡中找到它。

Download WP Mail SMTP to fix WPForms contact form not sending email

接下来,打开 WordPress 仪表板并将插件上传到您的 WordPress 站点。

如果您需要这方面的帮助,请跳至本指南以安装 WordPress 插件。

Install WP Mail SMTP

不要忘记激活插件。 激活它后,设置向导将打开。

您还可以通过单击 WP Mail SMTP 设置中的启动设置向导按钮来启动该向导。

接下来,我们将设置您的电子邮件提供商。

选择您的电子邮件提供商或 SMTP 服务器

现在让我们运行设置向导来创建从您的 WordPress 站点到电子邮件提供商的连接。

这很容易,即使您不是技术用户。

单击“让我们开始吧”按钮开始将您的 WordPress 站点连接到电子邮件提供商。

Start the WP Mail SMTP setup wizard to fix WPforms not sending email

第一步,是时候选择你的邮件了。 WP Mail SMTP 将连接到 API 以发送您的电子邮件,除非您选择使用常规 SMTP 设置的Other SMTP

Setup Wizard and Mailers in WP Mail SMTP

不知道在这里选什么? 我们有一些提示可以帮助您做出决定:

  • WP Mail SMTP 支持 Gmail 或 G-Suite 帐户。 对于不会生成大量电子邮件的小型网站,两者都是不错的选择。
  • 其他 SMTP允许您使用您有权访问的任何 SMTP 服务器。 一些提供商会限制您可以发送的电子邮件数量,但如果您刚刚开始,这是另一个不错的选择。 如果选择此选项,请务必使用正确的 SMTP 端口。
  • 对于大型站点,SMTP.com 或 Sendinblue 是可靠的选择。 这些邮件程序中的任何一个都可以处理从您的站点生成的大量电子邮件。
  • 如果您希望能够发送大量电子邮件,最好从合适的提供商开始。 查看此交易电子邮件提供商指南,查看有关 WordPress 最佳邮件服务的完整评论。

搞定? 跳转到您选择的邮件的文档以完成设置步骤:

邮件程序可用于所有版本WP Mail SMTP Pro 中的邮件程序
SMTP.com 亚马逊 SES
森丁蓝Microsoft 365 / Outlook.com
谷歌工作区/Gmail Zoho Mail
邮筒
邮戳
发送网格
星火邮报
其他 SMTP

需要帮忙?

不要忘记 WP Mail SMTP 的 Elite 版本带有适用于 Mailgun 或 SMTP.com 的完整白手套设置服务。 因此,如果您对自己进行设置感到不自在,您可以购买 Elite 并让专家为您设置。

在您的电子邮件服务网站上设置好所有内容后,请返回本指南以在您的网站上启用电子邮件日志记录。

打开电子邮件记录(可选)

在向导结束时,WP Mail SMTP 将询问您要启用哪些功能。

默认情况下,插件设置中已经打开了 2 个基本工具:

  • 电子邮件可传递性:WP Mail SMTP 将通过您的新邮件程序路由您的所有邮件
  • 错误跟踪:如果 WP Mail SMTP 检测到您的 DKIM、SPF 或 DMARC 记录有问题,它将提醒您。

我们建议您同时打开详细电子邮件日志每周电子邮件摘要

Enable WordPress email logs and weekly summary

详细的电子邮件日志将跟踪您 WordPress 发送的电子邮件,以便您轻松查看每封电子邮件的状态。

更好的是,专业版还为您的 WordPress 网站提供了一个有用的仪表板小部件。 该小部件在图表上显示已发送和失败的电子邮件。 这样可以轻松快速地发现电子邮件问题。 如果您的邮件支持它,它甚至会显示电子邮件是否已发送已交付

WP Mail SMTP Pro dashboard widget

如果在 WP Mail SMTP 中启用了日志记录,您还可以:

  • 跟踪您从 Contact Form 7 发送的每封电子邮件的打开和点击次数
  • 批量重新发送失败的电子邮件,或单独转发到不同的地址
  • Contact Form 7 附件连同已发送的电子邮件一起存储
  • 在 WordPress 仪表板中搜索和查看日志文件
  • 以 CSV、XLSX 或 EML 格式导出电子邮件日志
  • 生成电子邮件报告,显示已发送的电子邮件、状态和点击率

我们的日志屏幕可让您搜索不同类型的已发送电子邮件和通知,以便您快速检查状态。

Search subject and headers in WordPress email log

要查看更多很棒的功能,请查看这篇关于如何记录 WordPress 电子邮件的文章。 所有的功能都是多站点兼容的,所以这是一个超级强大的工具!

准备好后,别忘了前往电子邮件报告页面:

WP Mail SMTP Email Reports menu

从那里,您可以生成带有自定义日期的很棒的报告图表,如下所示:

Custom date range in WP Mail SMTP 3.0 email report

就是这样! 现在您已经安装了最流行的 SMTP 插件来修复 Contact Form 7 不发送电子邮件的问题!

立即下载 WP Mail SMTP

常见联系表 7 错误的常见问题解答

您对不发送电子邮件的联系表 7 有更多疑问吗? 在下面查看有关 CF7 错误消息和问题的更多信息。

  • Contact Form 7 是否使用 SMTP?
  • 联系表格 7 是否适用于 Localhost?
  • 我在字段的联系表 7 中使用什么电子邮件地址?
  • 如何将 Contact Form 7 连接到 Gmail?
  • 联系表 7 错误消息的颜色是什么意思?
  • 邮件标有绿色边框,为什么联系表 7 不发送电子邮件?
  • 如何修复“尝试发送您的消息时出错。 请稍后再试”
  • 如何修复“发件人电子邮件地址不属于站点域”
  • 如何修复“使用了无效的邮箱语法”
  • 如何解决“配置错误导致邮件投递失败或其他问题。 立即验证您的联系表格”
  • 为什么联系表 7 不向同一域发送电子邮件?
  • 为什么 Contact Form 7 不向 Gmail 发送电子邮件?
  • 为什么我的联系表卡在纺车上?

如果您想浏览所有常见问题解答,让我们开始吧。

Contact Form 7 是否使用 SMTP?

不,Contact Form 7 默认不使用 SMTP。 相反,它通过您的网络服务器发送电子邮件,这是不可靠的,并且可能导致您的联系表单电子邮件丢失。 您可以安装 WP Mail SMTP 插件以在 Contact Form 7 中轻松启用 SMTP。

联系表格 7 是否适用于 Localhost?

是的,WP Mail SMTP 允许您使用 Contact Form 7 从本地主机通过 SMTP 发送电子邮件。如果没有 SMTP 插件,它将无法工作。

我在字段的联系表 7 中使用什么电子邮件地址?

您应该在联系表 7 发件人字段中使用您实际有权访问的有效电子邮件地址。 默认的 WordPress 地址没有与之关联的邮箱,并且通常被大多数邮件服务器标记为垃圾邮件发件人。

但是,如果您在“发件人”字段中使用经过正确身份验证的电子邮件地址(最好在您自己的自定义电子邮件域中),您的联系表格 7 电子邮件被拒绝的机会将接近于零。

如何将 Contact Form 7 连接到 Gmail?

您可以使用 WP Mail SMTP 将 Contact Form 7 连接到 Gmail。 我们建议使用设置向导中的 Gmail 邮件选项以获得最佳安全性和功能。

您还可以将 Gmail SMTP 与 WP Mail SMTP 中的“其他 SMTP ”选项一起使用。 请注意,一些网络托管服务提供商会阻止 Gmail SMTP,因此 Gmail 邮件 API 通常对于 Contact Form 7 更可靠。

联系表 7 错误消息的颜色是什么意思?

Contact Form 7 有 3 种颜色编码的错误类型:

  • 黄色:这意味着您的表单存在验证错误。 例如,可能存在未填写的必填字段。
  • 橙色:您的表单提交已被标记为垃圾邮件。 这可能是因为 reCAPTCHA 或 Akismet 存在问题。
  • 红色:邮件服务器出现故障。 这通常指向导致wp_mail()函数出现问题的托管服务器问题。 尝试安装 WP Mail SMTP 以查看它是否可以解决问题。 如果没有,您需要联系您的主机寻求帮助。

如果消息标有绿色边框,请继续阅读。

邮件标有绿色边框,为什么联系表 7 不发送电子邮件?

这通常意味着您的 Contact Form 7 邮件已被标记为垃圾邮件,或者在从您的站点到收件人的过程中被丢弃。 因此,您的 WordPress 联系表似乎无法正常工作。

当插件配置设置正确但传出的电子邮件没有正确的身份验证时会发生这种情况。 当您从 WordPress 发送电子邮件时,遇到此问题非常普遍。

要解决此问题,请按照我们在本教程中向您展示的那样安装 WP Mail SMTP。 WP Mail SMTP 会将正确的标头添加到您的电子邮件中,以便它们在发送后不会被其他服务器丢弃。

如何修复联系表 7 错误“尝试发送您的消息时出错。 请稍后再试”

如果您看到 Contact Form 7 未能发送您的消息的消息,通常是由 Contact Form 7 的垃圾邮件防护触发的。

默认情况下,Contact Form 7 仅支持 reCAPTCHA v3。 这是最严格的 reCAPTCHA 版本,也是用户报告最多问题的版本。

为了获得更大的灵活性,我们建议切换到 WPForms Pro。 它使您可以使用更多方法来阻止联系表单垃圾邮件,包括:

  • reCAPTCHA v2 '我不是机器人'
  • reCAPTCHA v2 不可见
  • reCATPCHA v3
  • 验证码
  • 自定义验证码
  • 电子邮件许可名单和拒绝名单

Use hCaptcha to stop contact form spam

升级到 WPForms 是值得的,因为它有很多 Contact Form 7 所没有的额外功能。 使用 WPForms 与 Contact Form 7 制作 Elementor 联系表格也容易得多。

如何修复“发件人电子邮件地址不属于站点域”联系表 7 错误

错误“发件人电子邮件地址不属于站点域”意味着您的发件人电子邮件中的域与您网站的域名不匹配。

Contact Form 7 error: Sender email address does not belong to the site domain

您有时可以通过使用与发送邮件的域相匹配的电子邮件来提高电子邮件的送达率。 但是电子邮件仍然缺少来自服务器的身份验证,因此它可能无法完全解决问题。

最好还是安装 WP Mail SMTP,因为这是向 WordPress 电子邮件添加身份验证的唯一方法。

如何修复“使用了无效的邮箱语法”联系表 7 错误

如果您看到“使用了无效的邮箱语法”,这意味着您在 Contact Form 7 邮件设置中输入发件人电子邮件(发件人地址)时出错。

Contact Form 7 error Invalid mailbox syntax is used

要解决此问题,请检查您输入的发件人电子邮件地址中的拼写错误和格式错误。

如何解决“配置错误导致邮件投递失败或其他问题。 立即验证您的联系表格”

错误“配置错误导致邮件传递失败或其他问题。 立即验证您的联系表格”意味着您的联系表格设置中有联系表格 7 不允许的内容。

有时,此 Contact Form 7 配置错误似乎无缘无故出现。 当使用新的验证规则更新联系表 7 时,可能会发生这种情况。

您需要仔细检查“邮件”选项卡以解决​​突出显示的错误。

Contact Form 7 settings in Mail tab

如果您无法找出问题的根源,通常更容易切换到另一个免费的联系表单插件。

为什么联系表 7 不向同一域发送电子邮件?

如果联系表格 7 未向您的站点托管的同一域发送电子邮件,则通常是以下两个问题之一:

托管服务器电子邮件设置

您需要检查您的主机帐户中的域电子邮件是否配置正确。

请咨询您的托管服务提供商并要求他们验证您帐户上的邮件服务器设置。

域的 DNS 记录

您的域名需要有效的 MX 记录才能接收电子邮件。

并且要发送带有身份验证的电子邮件,它可能还需要 DMARC 记录、1 条有效的 SPF 记录和 DKIM 记录。

要检查您域的 DNS 记录以发送电子邮件,您可以在测试电子邮件选项卡中从 WP Mail SMTP 发送测试电子邮件。

Test DNS for email in WordPress

发送测试电子邮件后,WP Mail SMTP 将报告您的 DNS 中任何丢失的记录或错误配置。

WP Mail SMTP DMARC warning

为什么 Contact Form 7 不向 Gmail 发送电子邮件?

如果您的 Gmail 帐户没有收到来自 Contact Form 7 的电子邮件,这可能是因为这些电子邮件没有经过任何身份验证。 这通常是 WordPress 无法可靠发送电子邮件的情况。

如果您确实收到了 Gmail 的电子邮件,他们可能会在邮件上看到警告,例如“小心这封邮件”。

Be careful with this message error in Gmail

您可以通过安装 WP Mail SMTP 来修复 Contact Form 7 不向 Gmail 发送电子邮件的问题。 它是 Contact Form 7 的最佳 SMTP 插件,因为它会为您的电子邮件添加正确的验证。

为什么我的联系表卡在纺车上?

有时,Contact Form 7 会提交,但您会继续看到表单无法正常工作的纺车。 如果您使用的是 Flamingo,您可能还会发现该消息未保存。

有时,当有新版本的联系表格 7 时会发生这种情况。这可能会导致现有表格出现严重问题。

Contact Form 7 用户通常会被告知禁用所有其他插件并切换到默认主题。 这可以帮助您识别冲突,但不能帮助您解决问题。

所以还有另外两件事可以尝试。

在 WordPress 中重新生成永久链接

在您的 WordPress 仪表板中,前往Settings » Permalinks

Permalinks settings in WordPress

更改永久链接结构并单击保存。 然后将其更改回之前的设置并再次单击保存。

这将安全地重建您的.htacess文件,该文件有时会修复 Contact Form 7 旋转而不发送电子邮件的问题。

切换到 WPForms Lite

为了获得更好的功能支持,您可以将 Contact Form 7 表单导入 WPForms Lite,它是 100% 永久免费的。

WPForms 也更容易使用,因为它是 100% 拖放。 因此,您无需编写代码来构建表单。

Adding a field using drag and drop in WPForms

WPForms 的支持也很棒。 即使您选择免费版本,您也可以从 WordPress.org 上的专家团队获得帮助。 您总是会在 1-3 个工作日内得到问题的答案。

查看 WPForms Lite 与 Contact Form 7 的比较,了解切换时将获得的额外功能!

立即修复您的联系表 7 电子邮件

接下来,在联系表 7 中使用 Gmail 别名

现在您已经安装了联系表格 7,您可以使用不同的 Gmail 或 G-Suite 别名从不同的 WordPress 联系表格发送电子邮件。 这是让不同的表单从不同的团队或部门发送电子邮件的绝佳方式。

查看这篇在 WordPress 中使用 Gmail 别名的指南,了解如何设置这个强大的功能。

准备好修复您的电子邮件了吗? 立即开始使用最好的 WordPress SMTP 插件。 WP Mail SMTP Elite 包括完整的白手套设置并提供 14 天退款保证。

如果本文对您有所帮助,请在 Facebook 和 Twitter 上关注我们以获取更多 WordPress 提示和教程。