Contact Form7 配合 WP SMTP 来发送外贸网站询盘提醒邮件

2017-03-08发布在 WordPress建站21031 次访问

使用 Contact Form 7 可以很容易让我们做出联系或者询价的表单,在普通的 PAGE 页面放 Contact Form 7 的表单代码即可生成表单,再设置一下就可以使用了。

但很多人不知道如何设置,以至于安装上 Contact Form 7 这个 WP 插件以后不能成功发送询价或留言邮件,于是应要求特写此篇教程。


首先,看你是 VPS 还是 Virtual Host(如 bluehost)。如果是后者,多数应该都支持 php mail 函数( 需要 sendmail 组建支持),这样可以实现用户注册时邮箱提醒或者评论提醒,或者提交留言和询价表单提醒。而如果你是 VPS,通常是一个裸服务器环境,并没有预装 sendmail,所以没办法发送邮件。但如果你用 WordPress 建站,则可以使用一些插件用 SMTP 模式来发送邮件解决这个问题。

在 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 服务器的设置信息均按照网易付费企业邮箱来填写。

wp-smtp-setting1


你可以使用任意邮件服务商的 SMTP 服务器。用哪个服务商的邮箱,就填写哪个邮箱服务商的 SMTP 服务器信息。这些基本在邮箱服务商的网站常见问题里都会有,如果不清楚问一下客服。

二、Contact Form 7 设置最终接收邮箱

请按照如下截图的格式填写,保证不会出错。主要是第2张图 Mail 选项卡里的写法要注意准确。每一个中括号括起来的内容都是一个标签参数,按照截图那样来填写即可。

contact-form-7-form


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 选项卡。

contact-form-7


最终的效果就是客户从网站 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 服务器的设置信息均按照腾讯付费企业邮箱来填写。

treefpc-wp-smtp-setting


treefpc-contact-form-7


最终的效果就是客户从网站 https://www.xyzfpc.com/contact  网站联系页面上发了留言询价,这个询价内容会被 info@xyzfpc.com 邮箱发送到 sales@xyzfpc.com 邮箱中去,实现询价或留言的自动提醒。

五、发送速度

表单提交的处理速度取决于你的中转邮箱服务器的处理速度。腾讯和网易两家企业邮箱,经过我多次测试,明显腾讯的海外SMTP服务器(hwsmtp.exmail.qq.com,如截图中所示)会在处理速度上更快一些。

目前腾讯付费企业邮箱做的很不错,结合微信等等功能也挺强的,在国外期间直接就可以微信处理邮件。以前我每次出国在国外酒店处理邮件,从国外连接国内的网易邮箱 SMTP 服务器,发送邮件非常慢(国外酒店的网速访问国内服务器简直要命)。

所以我也打算等网易付费企业邮箱到期后换用腾讯的了。

以上,本文Over!如果对你有帮助,您可以赞助打赏,谢谢!

分享到微信朋友圈

LiaoSam
LiaoSam
外贸综合症患者

相关文章

    暂无

63条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #31
    cathy

    料神老师 您好,

    我现在遇到了个问题,刚换了G Suite 企业邮箱,网站后台也要换成gmail,但是捣鼓了一下午就是没有成功,easy wp smtp 和 contact form 7 我不知道到底是哪弄错了,form7一直发送不成功,烦请您有时间给指导一下,多谢。

    (之前腾讯企业邮箱是ok的,现在换了就不成功了)

    1周前 (10-07)回复
  2. #30
    Amy Zhang

    老师,我根据您的贴子方法操作了,在WP Mail SMTP by WPForms 里设置完成之后,做Email testing 不成功,提醒“Could not authenticate your smtp account ”
    购买的是Bluehost中国的美国主机,我用的是Bluehost的免费邮箱。。
    我测试用163的邮箱来使用,也是得到“Could not authenticate your smtp account ” 这个提醒。
    老师我这是什么问题呢?是Bluehost服务器的问题吗,我有Faxmail 客户端收发邮件正常。麻烦老师在百忙之间帮我分析一下好吗?谢谢。

    3个月前 (07-28)回复
  3. #29
    小人物

    老师,如果我吧邮箱解析到LNODE管理,是不是两个邮箱都必须要是站点域名啊,不能用其他的域名。 我用SMTP显示失败,如果删了就是现实发送成功,但是就是不到最终收件箱,用的ZOHO免费企业邮箱,感觉免费的SMTP的功能好像都没开。是不是还是把邮箱解析到NAMESILO好处理点,那样我可以用GMAIL来中转

    4个月前 (07-03)回复
  4. #28

    该评论为私密评论

    5个月前 (05-29)回复
  5. #27
    plusplastic

    该评论为私密评论

    5个月前 (05-23)回复
  6. #26
    rena

    中转邮箱我用的hotmail, mail设置from那里提示Sender email address does not belong to the site domain. 。

    5个月前 (05-15)回复
  7. #25
    cjing

    contact form 7 设置的表单已经把短代码复制到了我的contact us文章底下。
    可是为什么我在前台发信息的时候,提示的是“发生错误,请稍后再试”?
    这是表单没插入好的原因,还是邮箱关联没有弄好?

    6个月前 (04-21)回复
    • @cjing 该评论为私密评论

      5个月前 (05-29)回复
    • xiaoxian

      @cjing 我网站也遇到这样问题了,请问你解决了吗

      3个月前 (07-30)回复
      • cjing

        @xiaoxian 我已经自己解决了23333 只要把接收邮件设置一下就可以了

        3个月前 (08-01)回复
  8. #24
    Jenny

    暂时用BLUEHOST的企业邮箱,完全按照料神的步骤操作没问题!感谢料神详细的教程,菜鸟一学就会。

    7个月前 (04-02)回复
    • Amy Zhang

      @Jenny Jenny 同学,请教一下,我也是按料神的步骤操作N次,我也是Bluehost 邮箱,为什么我在Email Testing 时会说 “Could not authenticate your smtp account ” 我的账号是没有问题的。
      我用163邮箱测试也是 提醒“Could not authenticate your smtp account ”
      我买的是Bluehost 中国的美国主机。我该怎么办呢。怎么样才可以解决这个问题呀。

      3个月前 (07-28)回复
  9. #23
    York

    料神您好,我装的是WP Mail SMTP by WPForms插件,但是测试一直失败
    我中转邮箱是腾讯企业邮箱,设置里最下面输入中转邮箱的账号密码,按保存后,显示的却是wordpress的登陆账号和密码。请问这是什么情况???

    8个月前 (02-27)回复
    • Gavin

      @York @York 你好,我目前碰到的问题和你一模一样,一直显示的是wordpress的登陆账号和密码,测试也一直失败,请问问题解决了吗?

      7个月前 (03-13)回复
      • Allen

        @Gavin Gavin,我用的也是腾讯免费邮箱。SMTP host:smtp.email.qq.com, 一直test失败,显示无法连接到服务器。。。你们有解决方法吗?

        6个月前 (04-14)回复
      • jeff

        @Gavin 我也是这样,请问你解决了吗?

        6个月前 (05-03)回复
    • jeff

      @York @York 我也是同样的情况,请问你解决了吗?

      6个月前 (05-03)回复
  10. #22
    Ronny

    我用的是腾讯的免费企业邮箱,装的是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里,测试也是失败的。

    8个月前 (02-24)回复
    • Harry

      @Ronny test失败了是否是你FROM EMAIL和下面的USERNAME的邮箱不一致呢?我刚开始也是这个问题,测试失败了。后来测试成功了。但是在网站中发送信息显示失败。

      8个月前 (02-25)回复
      • Ronny

        @Harry 你是说在setting那里的 from email 和 test 那里要输入的邮箱 必须是同一个?

        8个月前 (02-25)回复
      • Ronny

        @Harry 哦 我知道了,你说的是这两个地方都在setting那里,可是我用的WP Mail SMTP by WPForms插件,setting 那里只有四项内容,“from email” “from name”和下面两个默认选项,没有教程中那么多内容要填。

        8个月前 (02-25)回复
      • York

        @Harry 你会,我也是from email 和 test 那里出了问题,我输入同一个邮箱,然后保存,页面刷新后,下面的邮箱名字自动变成了另一个英文(是我登陆wp的账号)。然后我进行test,失败了

        8个月前 (02-27)回复
    • 无随

      @Ronny 我页遇到同样的问题,请问你解决了吗?

      7个月前 (03-19)回复
  11. #21
    Harry

    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

    请问是哪里出了问题呢?我检查了好多次都没发现问题。谢谢!

    8个月前 (02-24)回复
  12. #20
    Judy

    在填写reply to的时候,照着文章填写,却出现这段话, Invalid mailbox syntax is used in the Reply-To field. 不可以填写[your-email] 标签,填写企业邮箱,就没有错误提示,是什么原因

    8个月前 (02-06)回复
    • kit2hang

      @Judy 同遇到这个问题。是不是要将your-email换成邮箱地址,那到底填中转邮箱还是最终收到的邮箱?

      7个月前 (03-16)回复
  13. #19
    Annie

    完美的解决了问题,感谢料神

    10个月前 (12-19)回复
  14. #18

    Sam,你好。按照教程配置后,WP Mail SMTP by WPForms测试正常。但是在网站表单里测试,显示发送成功,但是设置的邮箱里却没有收到任何邮件。请问是有可能是哪里出的问题?谢谢。

    10个月前 (12-13)回复
    • @michael 问题已解决,仔细又检查了几遍,发现是Contact Form 7收件人邮箱拼写错误导致收不到测试邮件。

      多谢Sam详细的教程和提示“注意细节特别是 Contact Form 7 的 Mail 选项卡,可能写错一个标签或者写错位置就会出错。”

      10个月前 (12-13)回复
    • 继续革命

      @michael 该评论为私密评论

      7个月前 (03-11)回复
  15. #17

    你好,料神,照着你的设置一步步来的,我用的是VPS,使用WP Mail SMTP by WPForms测试是可以的,但是在网站表单系统发送就显示失败“”Failed to send your message. Please try later or contact the administrator by another method.“更换接收邮箱也没有变化。

    1年前 (2017-10-11)回复
    • @ryan 试出来了,contact from 7 里设置的收件邮箱不能用同网域的,不知道是怎么回事。改成QQ邮箱,或gmail就都没有问题了,但是这样,询盘不是直接到自己的公司邮箱里,有点不舒服,不知道还有没有解决方法。

      1年前 (2017-10-12)回复
  16. #16

    你好,料神,为什么在Additional Headers出现Invalid mailbox syntax is used in the Reply-To field,然后我就直接删了内容,不填。 我注册的是免费的QQ企业邮箱,收发邮箱都是用的是同一个域名的。配置也是按照教程里边做的。可是最后还是不成功! 测试发送邮件失败。不知道是哪里出问题了。可否麻烦料神帮忙分析一下是什么问题?

    1年前 (2017-09-27)回复
    • @Elvira 我也是会出现Additional Headers出现Invalid mailbox syntax is used in the Reply-To field。删了内容不填测试发送页面直接加载不出来了。 亲,你的问题解决了吗?

      11个月前 (11-13)回复
      • kit2hang

        @tina 解决了吗?同遇到这个问题

        7个月前 (03-16)回复
  17. #15

    料神,我这边还是接收不了邮件,请指点,谢谢。

    1年前 (2017-09-20)回复
  18. #14

    该评论为私密评论

    1年前 (2017-09-14)回复
  19. #13
    yuki

    料大,QQ的免费企业邮箱可以用吗

    1年前 (2017-09-07)回复
  20. #12
    lee

    你好,料神,为什么在Additional Headers出现Invalid mailbox syntax is used in the Reply-To field的错误了,请解答,谢谢

    1年前 (2017-09-06)回复
    • Richard

      @lee Lee,我的问题跟你出现的一样,还没有解决
      在Additional Headers出现Invalid mailbox syntax is used in the Reply-To field的错误了, 出现红框

      1年前 (2017-09-10)回复
  21. #11
    Mandy

    想看料神写postfix的安装配置教程

    1年前 (2017-09-03)回复
  22. #10
    Lina

    sam,您好!假设我的域名是:www.abc.com。我在设置中转邮箱的时候,WORDPRESS中的CONTACT FORM7中的MAIL的FROM的设置只能设置这个域名的来进行中转。如果设置其他的邮箱就出现如下的错误:
    Sender email address does not belong to the site domain.
    请问是怎么回事呢?谢谢!

    1年前 (2017-09-03)回复
    • 浙江万凯

      @Lina contact form 7的要求,必须同域名企业邮箱。所以没企业邮箱,又整个linode VPS就相当坑。当时Bluehost支持mail函数就不要紧

      1年前 (2017-09-12)回复
  23. #9

    该评论为私密评论

    1年前 (2017-09-03)回复
  24. #8

    料神老师,我是您的米课学员,请问一下POSTFIX 这个怎么使用,能不能出一个教程呢

    1年前 (2017-08-26)回复
  25. #7
    Fish123

    用IFTTT吧,有邮件到达会第一时间通知你,用了三年多了,屡试不爽~请叫我雷锋

    2年前 (2017-03-22)回复
    • terry

      @Fish123 具体咋个使用法呀

      2年前 (2017-03-29)回复
  26. #6
    kevin_安徒生

    如果你要是早点写这篇文章,我就不会被领导骂了=。=

    2年前 (2017-03-14)回复
  27. #5

    昨天在VPS上装了一个POSTFIX,速度快多了,发询盘1S发送完成

    2年前 (2017-03-09)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @hunk 现在料网上发送留言邮件就是 postfix。smtp 永久了确实速度有点慢。
      2年前 (2017-03-09)回复
  28. #4

    用SMTP发送询盘感觉好慢,我测试至少需要10S才能发送成功

    2年前 (2017-03-09)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @hunk 你可以用 25 端口,SSL 端口要安全验证,速度要慢一些。不过整体来看 SMTP 确实会慢一些,但我没碰到要 10S 那么慢的。主要看你选的中转邮箱跟你的网站虚拟主机或者VPS的线路位置是近还是远了。如果你网站是美国机房,那么腾讯企业邮箱的海外 SMTP 服务器(hwsmtp.exmail.qq.com)发邮件的处理速度就更快一些。
      2年前 (2017-03-09)回复
      • @Liaosam 我是景安的主机,用的126邮箱非ssl口,确实需要那么久

        2年前 (2017-03-09)回复
  29. #3

    难怪我现在好久都没有收到你的回复邮件了,另外可以用以下代码,可以节省一个插件哦 :lol: 至于放哪里你是肯定知道的哦! :smile:
    //使用smtp发送邮件(请根据自己使用的邮箱设置SMTP)
    add_action(‘phpmailer_init’, ‘mail_smtp’);
    function mail_smtp( $phpmailer ) {
    $phpmailer->FromName = ‘常阳时光’; //发件人名称
    $phpmailer->Host = ‘smtp.qq.com’; //修改为你使用的邮箱SMTP服务器
    $phpmailer->Port = 465; //SMTP端口
    $phpmailer->Username = ‘123@qq.com’; //邮箱账户
    $phpmailer->Password = ‘123123123’; //邮箱密码
    $phpmailer->From = ‘123@qq.com’; //邮箱账户
    $phpmailer->SMTPAuth = true;
    $phpmailer->SMTPSecure = ‘ssl’; //tls or ssl (port=25时->留空,465时->ssl)
    $phpmailer->IsSMTP();
    }

    2年前 (2017-03-08)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @aunsen 这样也行,省个插件。不过外贸人不怎么喜欢折腾代码的。
      对了,你要是收不到我的回复邮件,可能是被你qq邮箱拦截了,把我域名加入白名单就行了。
      2年前 (2017-03-09)回复
    • Lina

      @aunsen 请问这个代码是放到哪个位置呢

      1年前 (2017-09-03)回复
  30. #2
    brooks

    Sam哥, 如果使用的是公共邮箱,例如:126的该怎么操作?

    2年前 (2017-03-08)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @brooks 怎么就不会举一反三呢?WP SMTP 设置里填写 126 的 smtp 服务器信息和你的 126邮箱账号密码即可。
      2年前 (2017-03-09)回复
      • Brooks

        @Liaosam 好的,谢谢SAM哥,我试试

        2年前 (2017-03-15)回复
        • 浙江万凯

          @Brooks 公共邮箱gmail怎么试都不行的 :cry: ,有成功的同学吗?

          1年前 (2017-09-12)回复
  31. #1
    terry

    赞一个!依然很实用,很棒!之前怎么设置怎么不对,后来自己在linode上装sendmail,问题来了:
    网站第一版发送邮件没问题,后来网站出问题重装做第二版,邮件就收不到了(偶尔能有1 2封收到),一直很困扰,望sam指导1 2。多谢!

    2年前 (2017-03-08)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @terry 已在文中更新注意事项。请看第三部分。
      2年前 (2017-03-09)回复