WordPress以及表单插件Gravity Forms和Contact Form 7无法发送邮件问题解决

这其实还是一个Win主机上用WordPress建站的常见问题。
起初我发现用Gravity Forms建立的表单无论如何都不能发送提醒邮件,遂尝试了N种方法,走了N多的弯路。然后惊讶的发现我的Wordpress本身居然也不能发送邮件,也就是找回密码等功能失效。

1. 百度解决方案,凡是提到Gravity Forms的中文网页都只是浅显的在介绍这款插件而已。对我来说百度果然还是不够用的。
2. 于是爬梯子看Google,先是找到Gravity Forms官方网站,里面也是一大堆不能发送邮件的话题。总结下来有这样几类:
a) 自动发送的邮件被系统当成垃圾邮件处理了。我查了下自己的垃圾箱,没有。
b) 服务器不支持PHP的mail()函数。检查结果居然正是如此。PHP基础非常差的我只知道在Win主机下用mail()不靠谱,大量的替代方案是用一个叫“WP Mail SMTP”的插件代替。
于是我安装了WP Mail SMTP。先用默认的设置尝试着发送测试邮件,失败。尝试改变设置,用自己的126邮箱经过STMP认证发送邮件,这次成功了。测试WP找回管理员密码的功能,也恢复了!
3. 于是回到Gravity Forms尝试发送提示邮件,居然还是收不到。有个老外说先看看你用的WP插件是不是还在用mail()函数发邮件,如果是,就改成wp_mail(),因为WP Mail SMTP是通过改变wp_mail()的发送方式实现邮件发送的。于是我检查了我的Gravity Forms,它确确实实的是用wp_mail()的…这个时候我有点急了,想WP有那么多表单插件,我何苦吊死在一个Gravity Forms上呢,Gravity Forms还是一款收费插件呢,由于没有序列号(一直用着旧版本),它官网上的答疑很多对我都是不开放的。
4. 于是我尝试着很多国内WP网站都在用的Contact Form 7,简称CF7。果然是一个不错的插件,比Gravity Forms轻便了很多,而且汉化得比较彻底。建立完自己的表单后,尝试提交表单,还是失败,提示我表单没有发送出去。
5. CF7国内用的比较多,于是很快百度到了解决方案。原来在后台邮件设置的时候发送人一定要用我在WP Mail SMTP设置的发件人,否则是无法提交的。于是修改发件人,果然表单就提交成功了。查看邮箱,提示邮件也同时收到了。
6. 但是CF7有一个缺点,它太小巧了,小巧到连记录表单数据的功能也没有,只是单纯的把数据通过邮件发送出去。有时候邮件也不够靠谱,丢包、被当垃圾邮件处理掉、邮件服务器当机了,各种情况都有可能发生,如果是给客户做网站,客户可能会抱怨…我还是需要保留能在WP后台也记录下用户提交的表单数据的功能。
7. 这样看来还是先回到Gravity Forms上来吧。看到过有这样一篇文章提到过要把发件人改成{admin_email},我尝试过但发送失败。借鉴到用CF7的时候要把发件人改成WP Mail SMTP的发件人,于是尝试着把Gravity Forms也改成这个发件人,bingo!

附上本文提到的3个WP插件的正确设置图解
WP Mail SMTP的:
WordPress邮件发送插件WP Mail SMTP设置

Gravity Forms的邮件提示(Notifications)设置界面:
WordPress插件Gravity Forms发件人设置

CF7的邮件设置部分:
WordPress插件Contact Form 7发件人设置

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/555.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

如本文对你有用,请在页面右侧栏扫码领取我的支付宝红包,作为打赏吧 (喂到底是我赏你还是你赏我啊-_-!)

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

7 关于 “WordPress以及表单插件Gravity Forms和Contact Form 7无法发送邮件问题解决” 的评论

    1. Brain 文章作者

      126邮箱目前已经不支持STMP使用了,可能是被滥用的太多而关闭了
      另外阿里云新购买的主机也已经完全不能开放25端口了,因此本文的设置已经不起作用
      替代方法是升级WP Mail SMTP插件,使用插件提供的几家提供STMP服务的服务商设置
      或者改用QQ邮箱(希望不要又很快被关闭)

      回复

发表评论

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