使用 Contact Form 7 可以很容易让我们做出联系或者询价的表单,在普通的 PAGE 页面放 Contact Form 7 的表单代码即可生成表单,再设置一下就可以使用了。
但很多人不知道如何设置,以至于安装上 Contact Form 7 这个 WP 插件以后不能成功发送询价或留言邮件,于是应要求特写此篇教程。
首先,看你是 VPS 还是 Virtual Host(虚拟主机)。如果是后者,多数应该都支持 php mail 函数( 需要 sendmail 组建支持),这样可以实现用户注册时邮箱提醒或者评论提醒,或者提交留言和询价表单提醒。而如果你是 VPS,通常是一个裸服务器环境,并没有预装 sendmail,所以没办法发送邮件。但如果你用 WordPress 建站,则可以使用一些插件用 SMTP 模式来发送邮件解决这个问题。
更新注意:这篇文章是以前针对用 VPS 建站来写的。
如果你用的是 SiteGround 虚拟主机,就不用看这篇文章的方法了。SiteGround 设置 Contact Form 7 插件获取询盘邮件具体见这篇教程:SiteGround 虚拟主机使用 Contact Form 7 插件发送询盘邮件
在 WordPress 网站后台,你应该已经安装了 Contact Form 7 这个插件,此时你可以下载插件 WP SMTP (现在该插件已搜不到了,可以选用 WP Mail SMTP by WPForms 插件)。接着按照本教程的设置一步步来设置:
设置的难点:关键就在于 WP SMTP 的设置 和 CONTACT FORM 7 中 Mail 选项卡的配置。只要设置对,肯定没问题。
一、WP SMTP 设置一个中转邮箱(自动发询盘提醒/留言提醒的邮箱)
比如,某外贸企业网站为 www.xyzpcb.com。该企业使用网易付费企业邮箱,于是把 design@xyzpcb.com 这个邮箱作为自动发件邮箱。SMTP 服务器的设置信息均按照网易付费企业邮箱来填写。
你可以使用任意邮件服务商的 SMTP 服务器。用哪个服务商的邮箱,就填写哪个邮箱服务商的 SMTP 服务器信息。这些基本在邮箱服务商的网站常见问题里都会有,如果不清楚问一下客服。
二、Contact Form 7 设置最终接收邮箱
请按照如下截图的格式填写,保证不会出错。主要是第 2 张图 Mail 选项卡里的写法要注意准确。每一个中括号括起来的内容都是一个标签参数,按照截图那样来填写即可。
Form 选项卡中我们可以做一些改良,把原来的代码全部删除,复制以下代码粘贴进去。(如果担心有问题,可以先把当前的代码保存到记事本或文本编辑器中)
<h2 style="font-size: 25px; line-height: 35px;" data-inline-fontsize="true" data-inline-lineheight="true" data-fontsize="25" data-lineheight="35"><i class="fa fa-envelope-o"></i> We will answer your email shortly!</h2> <label> [text* your-name placeholder "Name*"] </label> <label> [email* your-email placeholder "Email*"] </label> <label> [text* your-country placeholder "Country*"] </label> <label> [text your-subject placeholder "Subject"] </label> <label> [textarea your-message placeholder "Message"] </label> [submit "Send"]
接着,配置 Mail 选项卡。
最终的效果就是客户从网站 https://www.xyzpcb.com/contact 网站联系页面上发了留言询价,这个询价内容会被 design@xyzpcb.com 邮箱发送到 judy@xyzpcb 邮箱中去,实现询价或留言的自动提醒。
在 [your-message] 下方你还可以隔一行,加上这行代码,会显示发表留言或者询价的留言者的 IP 和留言具体页面地址:
IP is [_remote_ip], from [_url]
最终收到的提醒邮件示例如下:
三、注意事项
如果你严格按照我的截图来做,却不成功,那么有两个可能:
- 1)你的最终收件邮箱如果是企业邮箱,那可能该企业邮箱的 MX 记录没有做好
- 2)可能是配置 WP SMTP 和 Contact Form 7 时测试多了。发太多一两句话的测试邮件,中转邮箱照发,但邮件服务器有反垃圾邮件机制,可能就当成垃圾邮件拦截了。
之前帮一个学员弄的时候就是这样。用 info 邮箱来做中转邮箱配置 WP SMTP 的时候发了好几封一两句话的测试邮件,网易当成垃圾邮件了,后来联系网易企业邮箱的客服,跟他说 info 这个邮箱在测试发件才解决。所以之前我走的坑比较多,大家按照我截图来做,就不会入坑了。 - 3)如果你使用的是虚拟主机商送的免费企业邮箱,则很可能是不成功的
注意细节特别是 Contact Form 7 的 Mail 选项卡,可能写错一个标签或者写错位置就会出错。
四、再来一个参考例子
某外贸企业网站为 www.xyzfpc.com。该企业使用腾讯付费企业邮箱,于是把 info@xyzfpc.com 这个邮箱作为自动发件邮箱。SMTP 服务器的设置信息均按照腾讯付费企业邮箱来填写。
最终的效果就是客户从网站 https://www.xyzfpc.com/contact 网站联系页面上发了留言询价,这个询价内容会被 info@xyzfpc.com 邮箱发送到 sales@xyzfpc.com 邮箱中去,实现询价或留言的自动提醒。
五、发送速度
表单提交的处理速度取决于你的中转邮箱服务器的处理速度。腾讯和网易两家企业邮箱,经过我多次测试,明显腾讯的海外 SMTP 服务器(hwsmtp.exmail.qq.com,如截图中所示)会在处理速度上更快一些。
目前腾讯付费企业邮箱做的很不错,结合微信等等功能也挺强的,在国外期间直接就可以微信处理邮件。以前我每次出国在国外酒店处理邮件,从国外连接国内的网易邮箱 SMTP 服务器,发送邮件非常慢(国外酒店的网速访问国内服务器简直要命)。
所以我也打算等网易付费企业邮箱到期后换用腾讯的了。
以上,本文 Over!如果对你有帮助,您可以赞助打赏,谢谢!
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
感谢分享,谢谢站长!!@天天下载
你好!
用 godaddy 虚拟主机 设置 contact form 时候可以参照这篇文章吗?
是企业邮箱,域名不是这个怎么设置呢?
Hello~
Liao Sam,晚上好!
非常高兴可以看到你的网站,并且学到了很多东西!
你的文章实打实的,干货满满!
在这里请教一个问题:
如果你有时间解释,那将会是我的荣幸!
请问 Form 7 在网站的页面上图文表单都显示正常,但是在手机上却不行了,图片被表单压住!
检查了下,发现主题的其他页面和文章都是自适应的,兼容的比较好,唯独行动端表单不行
你好,我在 WP 后台测试了,邮件发送成功,gmail 邮箱也收到邮件。但去网站端 C7 发邮件的时候发送不了。总是提醒“THERE IS AN ERROR.....”麻烦问下哪里的问题。
不知道有没有人和我一样理解错误的,比如 info 中转到 sales,info 这个是看不到邮件的。不算是提交到 info,本身就是网站接收到数据,然后做成邮件,用 info 的身份发出去
因为 sales 的不是自己在用,我用的是 info,info 没有收到搞得我以为失败了,来来回回折腾好几个小时,乌龙一把。
感谢料神老师,跟着你的博客一步一步建站的。
@Mia 怎么我的 SMTP 测试邮件成功,但是网站端发了 N 次,就是发不出邮件呢
料神老师 您好,
我现在遇到了个问题,刚换了 G Suite 企业邮箱,网站后台也要换成 gmail,但是捣鼓了一下午就是没有成功,easy wp smtp 和 contact form 7 我不知道到底是哪弄错了,form7 一直发送不成功,烦请您有时间给指导一下,多谢。
(之前腾讯企业邮箱是 ok 的,现在换了就不成功了)
老师,我根据您的贴子方法操作了,在 WP Mail SMTP by WPForms 里设置完成之后,做 Email testing 不成功,提醒“Could not authenticate your smtp account ”
购买的是 Bluehost 中国的美国主机,我用的是 Bluehost 的免费邮箱。。
我测试用 163 的邮箱来使用,也是得到“Could not authenticate your smtp account ” 这个提醒。
老师我这是什么问题呢?是 Bluehost 服务器的问题吗,我有 Faxmail 客户端收发邮件正常。麻烦老师在百忙之间帮我分析一下好吗?谢谢。
老师,如果我吧邮箱解析到 LNODE 管理,是不是两个邮箱都必须要是站点域名啊,不能用其他的域名。 我用 SMTP 显示失败,如果删了就是现实发送成功,但是就是不到最终收件箱,用的 ZOHO 免费企业邮箱,感觉免费的 SMTP 的功能好像都没开。是不是还是把邮箱解析到 NAMESILO 好处理点,那样我可以用 GMAIL 来中转
该评论为私密评论
该评论为私密评论
中转邮箱我用的 hotmail, mail 设置 from 那里提示 Sender email address does not belong to the site domain. 。
contact form 7 设置的表单已经把短代码复制到了我的 contact us 文章底下。
可是为什么我在前台发信息的时候,提示的是“发生错误,请稍后再试”?
这是表单没插入好的原因,还是邮箱关联没有弄好?
@cjing 该评论为私密评论
@cjing 我网站也遇到这样问题了,请问你解决了吗
@xiaoxian 我已经自己解决了 23333 只要把接收邮件设置一下就可以了
暂时用 BLUEHOST 的企业邮箱,完全按照料神的步骤操作没问题!感谢料神详细的教程,菜鸟一学就会。
@Jenny Jenny 同学,请教一下,我也是按料神的步骤操作 N 次,我也是 Bluehost 邮箱,为什么我在 Email Testing 时会说 “Could not authenticate your smtp account ” 我的账号是没有问题的。
我用 163 邮箱测试也是 提醒“Could not authenticate your smtp account ”
我买的是 Bluehost 中国的美国主机。我该怎么办呢。怎么样才可以解决这个问题呀。
料神您好,我装的是 WP Mail SMTP by WPForms 插件,但是测试一直失败
我中转邮箱是腾讯企业邮箱,设置里最下面输入中转邮箱的账号密码,按保存后,显示的却是 wordpress 的登陆账号和密码。请问这是什么情况???
@York @York 你好,我目前碰到的问题和你一模一样,一直显示的是 wordpress 的登陆账号和密码,测试也一直失败,请问问题解决了吗?
@Gavin Gavin,我用的也是腾讯免费邮箱。SMTP host:smtp.email.qq.com, 一直 test 失败,显示无法连接到服务器。。。你们有解决方法吗?
@Gavin 我也是这样,请问你解决了吗?
@York @York 我也是同样的情况,请问你解决了吗?
我用的是腾讯的免费企业邮箱,装的是 WP Mail SMTP by WPForms 插件,按照料神的教程一步步做的,遇到以下几个问题,请料神和懂的朋友帮忙解答:
1.WP Mail SMTP by WPForms 插件里的设置只有 “from email" "from name"可以按照教程写,其他的设置没有
2.在 contact form 7 遇到了和其他学员一样的问题,Additional Headers 出现 Invalid mailbox syntax is used in the Reply-To field。在[your-email] 后面加上 (中转邮箱)就通过了。
3.这样设置完后,在网上发询盘测试,失败。显示 THERE WAS AN ERROR TRYING TO SEND YOUR MESSAGE. PLEASE TRY AGAIN LATER.
4.另外,在 WP Mail SMTP by WPForms setting 后面的 test 里,测试也是失败的。
@Ronny test 失败了是否是你 FROM EMAIL 和下面的 USERNAME 的邮箱不一致呢?我刚开始也是这个问题,测试失败了。后来测试成功了。但是在网站中发送信息显示失败。
@Harry 你是说在 setting 那里的 from email 和 test 那里要输入的邮箱 必须是同一个?
@Harry 哦 我知道了,你说的是这两个地方都在 setting 那里,可是我用的 WP Mail SMTP by WPForms 插件,setting 那里只有四项内容,“from email” “from name”和下面两个默认选项,没有教程中那么多内容要填。
@Harry 你会,我也是 from email 和 test 那里出了问题,我输入同一个邮箱,然后保存,页面刷新后,下面的邮箱名字自动变成了另一个英文(是我登陆 wp 的账号)。然后我进行 test,失败了
@Ronny 我页遇到同样的问题,请问你解决了吗?
Sam,新年好!我设置好 WP Email Smtp Settings 后,测试没有问题。但是通过网站中表单来提交的时候,就出现这个错误提示“THERE WAS AN ERROR TRYING TO SEND YOUR MESSAGE. PLEASE TRY AGAIN LATER.”
网站中的表单的内容填写如下:
TO:aaa@163.com
From : [your-email] 其中 abc 为域名
Additional Headers : Reply-To : abc@abc.com
请问是哪里出了问题呢?我检查了好多次都没发现问题。谢谢!