联系表格 7 显示已发送消息但未收到电子邮件

Contact Form 7 showing sent message but not receiving email

遇到 WP 插件问题,联系表格 7。当我填写表格并提交时,我收到一条成功消息,说明它已发送,但我没有在我的电子邮件中收到它。

邮件不在我的垃圾邮件中,我只是在输入要发送到的电子邮件时才在我的电子邮件中收到消息!?

它要发送的电子邮件是一个交换帐户。我可以看到使用 WP 后端上的联系表单提交发送的电子邮件。但是想解决这个问题。

表格

[text* your-name placeholder "Name"]

[email* your-email placeholder "Email Address"]

[text* your-dob placeholder "DOB"]

<p>Which Challenge(s) would you like to enter?</p>
[checkbox* select-challenge "1" "2" "3"]

</br>

Please tick here that you have read and accepted the [popup_trigger 
classes="popmake-food-challenge-tcs"]
<u>terms & conditions</u>[/popup_trigger] for entry & participation. 
[acceptance acceptance-997]


[submit "Send"]

邮件

收件人:我的名字@company.com

来自:网站

主题:挑战

Reply-To: [your-email]

From: [your-name] <[your-email]>

Eating Challenge Registration

Name: [your-name]
Email: [your-email]
DOB: [your-dob]

Challenge(s): [select-challenge]

我还与网站托管商确认他们使用 wp_mail() 并确认他们使用。与其他联系表格一样发送 - 禁止发送此表格。

当我遇到有关 wp 联系表的问题时,我总是使用 smtp 插件来解决。我建议你使用 wp smtp 邮件插件。

Easy SMTP WP plugin page on wordpress.org

如果使用smtp插件后有任何问题,请回复post我会尽力帮助你

我的网站有这个问题。

一些托管公司阻止自动发送电子邮件,因为一些用户使用主机发送电子邮件营销。所以,我认为你可以联系你的主机提供商来解决这个问题。

尝试将 from: 电子邮件地址设置为 wordpress@yourdomain.com。 Contact Form 7 支持建议将发件人地址设置为您自己的域,这样网站的邮件程序就不会认为它在欺骗正在发送的电子邮件(从错误的电子邮件地址发送)。

如果这不起作用,最好使用像 WP Mail SMTP Plugin 这样的插件。

我将其设置为通过我们的 Gmail 帐户发送联系表单电子邮件,效果很好。 Instructions here.

SMTP 插件是一种创可贴解决方案

人们使用 SMTP 插件的原因是他们没有正确设置自己的域;因此,他们通过他们的电子邮件托管公司路由他们的电子邮件,期望他们的域设置正确并且足够宽容以接受需要转发的电子邮件。因此,假设您的网站位于 example@mywebsite.com,您的电子邮件为 example@gmail.com,那么您可以使用 SMTP 插件向 gmail.com 发送电子邮件,然后 gmail 重新发送它代表您。

如您所见,这是一个笨拙的解决方法,实际上并没有解决无法直接从您的网站发送电子邮件的问题。在一些用例中存在这个问题:

  1. 如果您想实际发送来自 example@mywebsite.com 的电子邮件并且不将您的 example@gmail.com 地址暴露给 public.
  2. 如果您的电子邮件提供商不支持 SMTP。
  3. 一些反垃圾邮件工具可能会阻止以这种方式路由的电子邮件,因为 SMTP 可能是通过被黑帐户进行欺骗的标志。当使用 Mail(2) 功能向客户端发送确认电子邮件时,这几乎总是会导致问题,因为您几乎可以保证其中一些会使用垃圾邮件过滤器来阻止它。
  4. 您可能还需要通过不支持您的 SMTP 插件的其他方式(不是联系表 7)发送电子邮件。

更好的解决方案

解决可传递性问题的最佳方法是在 DNS 中正确设置 DKIM、SPF 和 PTR 记录。

如果您像现在大多数托管公司那样使用 cPanel,则需要转到“电子邮件”>“电子邮件送达率”,如果您需要更新 DNS,它会向您显示警告。如果这样做,只需将它自动生成的记录复制到您域的 DNS 中,这应该可以解决问题。与尝试通过其他人的服务器发送电子邮件不同,这将设置您的服务器以正确发送它们,从而缓解上述所有问题。

这与大多数 SMTP 插件一样易于设置,因此您不必在 WordPress 安装中安装不必要的插件。

如果您没有 cPanel 访问权限,只需联系您的域名托管服务提供商并要求他们设置您的 DKIM、SPF 和 PTR。如果您的域名托管服务提供商和您的网络托管服务提供商是两家不同的公司,您可能需要向您的网络托管公司请求正确的 DNS 记录,以便自己输入或提供给您的域名托管公司。