虽然contact form 7广泛运用于wordpress网站,每天都有成千上万的网站的邮件通过contact form 7发送,但是也不乏发送失败的案例,今天inkwp就来汇总一下使用contact form 7遇到的一些问题汇总以及解决方案。
使用contact form 7最大的问题就是发送邮件不成功或者发送成功但是收件箱没有收到,这些问题或者出现在发送端也就是网站,或者出现在收件端,由于每个人遇到的问题不同,我们只能通过排除法来修复发送问题。
首先列个清单:
- 测试wordpress主机是否支持mail()函数
- 检查发件箱是否正确(From:)
- 邮件可能被当成垃圾邮件
- 安装一个cf7邮件后台存储插件
- 主机空间问题排查,有的主机空间需要特殊配置
- 使用SMTP第三方服务发件
- Contact Form 7 Configuration Validator,cf7配置检验
- 20160812测试,cf7短代码[_remote_ip]影响部分收发件
测试mail()函数
有的主机不支持mail发件函数,可以在wp登录界面选择忘记密码,填写注册邮箱,发送成功即表示主机支持wordpress发件函数。
![忘记密码检验是否支持邮件函数](https://cdn.keentalking.com/2016/08/忘记密码检验是否支持邮件函数.png)
检查发件箱是否正确(From:)
cf7的发件箱一般默认是wordpress@域名.com,有的主机会自动支持这个发件箱,但是像英文外贸建站主机大户bluehost,有时候还得需要上后台注册一下发件箱才行。
![Bluehost后台新建发件箱](https://cdn.keentalking.com/2016/08/新建wordpress发件邮箱.jpg)
如上图,在后台email下新建一个发件箱——wordpress@域名.com即可。
邮件可能被当成垃圾邮件
网站在线通过cf7发送邮件,其实原理就是利用网站的邮件服务器发送邮件到收件箱服务器,在很多时候,在线发送邮件会被当成垃圾邮件,当成垃圾邮件的话,轻则垃圾箱,重则拒收;根据经验,QQ邮箱经常会把来自bluehost的邮箱判断为垃圾邮件放到垃圾箱,而其他的网易或者新浪存在直接拒收的概率,所有收件箱也要好好考虑一下。
安装一个cf7邮件后台存储插件
强烈推荐Contact form DB或者 Contact form 7 Storage,这两个插件都能保存在线的表单邮件,只要客户点击提交,网站后台就能看到邮件,前者免费,后者付费,是建站不错失任何信息的必备之选。
主机空间问题排查,有的主机空间需要特殊配置
部分建站主机或空间会有一些特殊设置,这个就得咨询客服了,本人经历过的主机有的没有开通mail端口,联系客服给换了主机,所以等其他问题都设置好了以后,联系客户是最有效的方法!Bluehost的客服还是可以解决些问题的。
使用SMTP第三方服务发件
如果网站实在不能发件,那么也可以考虑第三方SMTP发件服务,在插件里面搜索WP SMTP插件即可
配置教程如下:
如何解决contact form 7 发信失败?配置SMTP就行啦!
很多人的网站安装contact form 7表单之后,不能正常的收到邮件,今天的教程就是解决这个问题的。 一般情况下contact form 7发信邮件是空间自带的,不太稳定,我们的思路是借用其他邮箱来发信,本教
Contact Form 7 Configuration Validator
contact form 7 4.4版本以后推出了配置验证,只要你的表单配置不对,会立马有错误显示,配置包括Mail下的, To: From: Subject: Additional Headers:
![表单配置检验](https://cdn.keentalking.com/2016/08/表单格式确认.jpg)
按照上图的配置基本是就对了,在Additional Header里面添加一个转发邮箱,可以同时用两个邮箱做收件的A/B测试。
总结
contact form 7发信不成功是有很多种原因的,只能通过排除法去排除,是否费时费力的苦力活。如果最终还是不能发送成功,要么就定时看看后台的contact form 7邮箱,要么可以考虑换wufoo之类的第三方付费表单了。