【问题标题】:Contact Form 7 showing sent message but not receiving email联系表格 7 显示已发送消息但未收到电子邮件
【发布时间】:2018-12-07 12:50:19
【问题描述】:

遇到 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"]

邮件

收件人:myname@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() 并确认他们这样做。与其他联系表格一样发送 - 禁止此表格。

【问题讨论】:

  • 提交后是否收到绿色成功消息?
  • @charankumar 是的
  • 你检查过你的垃圾邮件文件夹吗?
  • @Just101,尝试通过应用不同的电子邮件在标题部分使用抄送和密件抄送,如果您使用的是CF7 4.9版本,可能的情况是其他插件也会产生冲突
  • 通常当我们的客户遇到这个问题时,我们建议检查垃圾邮件文件夹 80% 的案例

标签: wordpress email contact-form contact-form-7


【解决方案1】:

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

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

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

【讨论】:

  • 是的,将发件人地址更改为建议的地址,并将此地址列入白名单,这样它就不会进入垃圾邮件,从而解决了问题 - 谢谢。
  • @Insight 同时使用 Contact Form 7 和 WP Mail SMTP 插件是否安全?我目前是这样设置的,我认为它实际上是在发送电子邮件。
  • @JosephK。如果这仍然是一个问题,我会安装 Wordfence 并运行扫描。
【解决方案2】:

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

Easy SMTP WP plugin page on wordpress.org

如果使用smtp插件后有任何问题,请回复此帖,我会再次尝试帮助您。

【讨论】:

  • 在使用 smtp wp 插件和 cf7 时,我仍然面临垃圾邮件问题。你能帮我吗
【解决方案3】:

我的网站有这个问题。

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

【讨论】:

  • 我已经让他们帮我调查一下,谢谢@PyMatFlow
【解决方案4】:

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

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

如您所见,这是一个笨拙的解决方法,实际上并不能解决无法从您的网站直接发送电子邮件的问题。有几个用例会出现问题:

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

更好的解决方案

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2018-11-27
    • 1970-01-01
    • 2011-03-29
    • 2015-08-13
    相关资源
    最近更新 更多