7收不到邮件 contact form_WP Mail SMTP插件解决Contact Form 7表单提交失败问题

WP Mail SMTP 是一款非常优秀的解决WordPress主机因为不支持或者是禁用了mail()函数,导致无法实现在线邮件收发功能的插件,WPYOU之前在“WP Mail SMTP插件解决WordPress邮件收发失败问题”一文中介绍过WP Mail SMTP插件相关的使用。这里在详细介绍下有关“WP Mail SMTP插件来解决Contact Form 7表单提交失败问题”的具体方法。

本文以阿里云服务器和QQ邮箱的SMTP为例。

1. 设置WP Mail SMTP插件,如下图所示:

其中的,1处的 From Email 和 2处填写的QQ邮箱需要一致,为同一邮箱,我们测试过非同一邮箱始终错误的。

当然你也可以把1处的留空,默认使用WordPress的【 设置 – 电子邮件地址 】中填写的邮箱,那么下面的2处,就要设置使用同样的邮箱才可以。

在 Send a Test Email 里填写一个和上面设置的邮箱不同的其他邮件地址,Send Test 一下如果上面的反馈显示如下,则说明配置成功。Test Message Sent

The result was:

bool(true)

设置好WP Mail SMTP插件后,再进入Contact Form 7表单插件里创建好的表单中,如下图位置:

如上图,“发件人”中默认设置的是“[your-name]”,把里面的  [your-mail] 改为 WP Mail SMTP插件中1处设置的[From Email]。例如,本例既是把 [your-name] 改为[your-name]。

正常情况下,这样设置之后,在前台添加 Contact Form 7 表单的页面提交就会成功了。

===================  更多原因排除解决方法  ===================1. 第一步:进入主机管理里,找到 主机环境设置 里的 php.ini参数设置,检查里面的 PHP函数fsockopen设置 是否开启,如没有开启需要启用该项,如下图所示:

如果第一步完成后还是无法发送,则进行第二步:在网站文件管理中,找到 /wp-include/class-smtpp.php 大概在202-208 行的位置的代码(通过查找如下):$socket_context = stream_context_create($options);

$this->smtp_conn = @stream_socket_client(

$host . ":" . $port,

$errno,

$errstr,

$timeout,

STREAM_CLIENT_CONNECT,

$socket_context

);

修改为如下代码:$this->smtp_conn = @fsockopen($host,$port,$errno,$errstr,$timeout);

2. 如果还显示 “你的留言发送失败。请稍后再尝试发送或者使用其他方法联系管理员。”,那么请往下看,通过网站的FTP访问 Contact Form 7 插件文件夹(/wp-content/plugins/contact-form-7),打开/contact-form-7/includes/mail.php 文件(老版本的插件在/contact-form-7/includes/classes.php文件),找到下面的代码$headers = "From: $sender\n";

修改为$headers = "From $sender\n";

保存更新即可,这样在前台添加 Contact Form 7 表单的页面提交就会成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值