解决wordpress主机不支持mail()函数插件WP Mail SMTP

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”对该插件进行设置:

WPMailSMTP插件设置

  • 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。

WPMailSMTP插件

如果提示以下信息,表示配置成功:

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>

ContactForm7插件设置

设置好后,到前台测试提交表单,如果还是提示“你的留言发送失败。请稍后再尝试发送或者使用其他方法联系管理员。”,那么继续按下面的步骤进行操作:

在contact-form-7插件文件夹中的includes文件夹找到classes.php文件并对其进行编辑,在该文件中找到代码:

1
$headers = "From: $sender\n";

修改为:

1
//$headers = "From: $sender\n";

或者修改为:

1
$headers = "From $sender\n";

保存即可。博客吧亲测,做到这一步一般可以解决问题,如果依然无法解决,那么~~~~~~~~~~~或者换空间更容易一些!

网友留言:

  1. cjq
    2016-10-07回复

    装了插件确实可以发邮件但是注册账号还是会提示mail函数禁用

  2. 2016-05-25回复

    maosi hai shi buxing a 还是不行啊

    • 博主板凳
      2016-05-27回复

      测试过没有问题,此外smtp发送方式使用的是steam_connect_client,如果你的主机商提供的是fsockopen(如万网主机),还需要进行修改。

  3. 2015-01-20回复

    这个支持中文名吗?我下了个国外主题,不支持中文名提示“Error! Please validate your fields.”请问这是怎么回事?

    • 博主板凳
      2015-01-22回复

      这个插件支持中文名称

发表留言