wordpress插件WP Mail SMTP是一款可以解决因为wordpress主机禁用或者不支持mail()函数从而无法实现在线收发邮件功能的插件,例如contact form 7插件由于wordpress所使用主机不支持或禁用mail()函数导致提交失败的问题就可以得到很好的解决。下面是通过设置wp mail smtp插件和contact form 7插件解决cf7提交失败问题的具体操作步骤。
WP Mail SMTP设置图示:
1、通过后台“插件——安装插件”搜索“WP Mail SMTP”进行在线安装插件,安装成功后,进入后台的“设置——Email”对该插件进行设置:
- From Email:发送的邮箱地址,留空则使用“设置——常规——电子邮件地址”中的邮箱地址;
- From Name:发送人名称;
- Mailer:由于主机不支持mail()函数,所以选择“Send all WordPress emails via SMTP.”;
- Return Path:返回路径,勾选;
- SMTP Host:邮箱的SMTP服务器,QQ邮箱的是smtp.qq.com,非QQ邮箱请咨询邮箱服务提供商;
- SMTP Port:端口,一般是25;
- Encryption:是否加密,一般选择“No encryption.”;
- Authentication:是否验证,选择“Yes: Use SMTP authentication.”;
- If this is set to no, the values below are ignored.”;
- Username:邮箱的用户名,要保持和上面的From Email邮箱地址一样;
- Password:一般是smtp客户端授权密码(部分是邮箱对应的密码)。
2、设置好后,点击保存更改,然后对设置进行测试是否可以成功发送邮件,在Send a Test Email
To:后台输入要接收邮件的邮箱地址,然后点击Send Test。
如果提示以下信息,表示配置成功:
Test Message Sent
The result was:
bool(true)
Contact Form 7设置图示:
成功配置WP Mail SMTP插件后,进入已创建的contact form 7联系表单,在邮箱部分,把发件人中的“[your-name] <[your-mail]>”改为WP Mail SMTP插件中设置的邮箱地址,如本篇教程示例,应该改为[your-name] <leonhere@qq.com>
设置好后,到前台测试提交表单,如果还是提示“你的留言发送失败。请稍后再尝试发送或者使用其他方法联系管理员。”,那么继续按下面的步骤进行操作:
在contact-form-7插件文件夹中的includes文件夹找到classes.php文件并对其进行编辑,在该文件中找到代码:
1 | $headers = "From: $sender\n"; |
修改为:
1 | //$headers = "From: $sender\n"; |
或者修改为:
1 | $headers = "From $sender\n"; |
保存即可。博客吧亲测,做到这一步一般可以解决问题,如果依然无法解决,那么~~~~~~~~~~~或者换空间更容易一些!