一、contact form 7无法发送邮件的原因
对mail()函数的不支持。
Contact Form 7表单提交失败在使用过程中会出现,归根结底原因在于wordpress主机问题,由于国 内很多主机并不是wordpress专用主机,采用的是所谓的全能WIN+IIS+PHP,而这样的环境很少支持wordpress本身的mail()发 送邮件函数。所以导致Contact Form 7表单提交失败的原因。这也引出WP Mail SMTP设置问题。
二、解决方法
解决这个问题有两点
1、下载一个插件WP-Mail-SMTP 提供支持
2、修改wp-content\plugins\contact-form-7\includes\mail.php(这个如果1中无法解决,就需要2)
具体步骤:
1)下载WP-Mail-SMTP插件
2)设置SMTP插件
下面是163邮箱的
注意:这里的Username就是你邮箱的完整地址,如123@163.com
这里的Password就是你邮箱的密码啦
3) 测试邮件回复功能
在WP-Mail-SMTP设置最后一项,写上你要寄的邮箱地址进行测试。
如果点击发送后,提示如下,说明SMTP插件启动成功
Test Message Sent
The result was:
bool(false
……………………
……………………
接着,打开目标邮箱,马上就可以看到邮件了,这样就表示你的插件成功启用了。你就可以使用该邮箱来实现许多wordpress具有的邮件功能了。
PS:如果你在3、测试的时候没有成功收到邮件,在点击发送后出现的代码的最下边有如下
Test Message Sent
The result was:
bool(false
……………………
……………………
SMTP -> ERROR:Failed to connect to server:
那么我们就要进行解决方法中的2、
打开:wp-content\plugins\contact-form-7\includes\mail.php
查找:$headers = “From: $sender\n”;
更改为:$headers = “From $sender\n”;
如此这般就得以解决了。
【一个SMTP插件+修改plugin插件的mail.php文件】