Contact Form 7邮件内容为空问题 求助解决方法
Contact Form 7 邮件无内容问题解决方法
问题原因
收到的邮件显示未匹配的标签占位符,核心原因是表单字段的短代码名称和邮件模板中的调用标签不对应——Contact Form 7 只能通过字段的短代码名称匹配取值,名称不一致就无法获取用户输入的内容。
另外还有两个细节问题:
- 邮箱字段误用了
[text*]类型,应该用专门的[email*]类型做格式验证 - 邮件模板里的
[your-subject]在原表单中没有对应字段,导致主题也显示占位符
解决方法(二选一即可)
方案1:修改表单字段,使用标准标签名称
把表单里的字段短代码名称改成邮件模板里的your-name、your-email、your-message,同时修正邮箱字段类型:
<div class="form-group"> <p>[text* your-name placeholder "Your name"]</p> <p>[email* your-email placeholder "Your e-mail"]</p> </div> <p>[textarea your-message 40x9 placeholder "Your message"]</p> [submit "buy now"]
如果需要用户自定义邮件主题,在表单中添加对应字段:
<div class="form-group"> <p>[text* your-name placeholder "Your name"]</p> <p>[email* your-email placeholder "Your e-mail"]</p> <p>[text your-subject placeholder "Subject"]</p> </div> <p>[textarea your-message 40x9 placeholder "Your message"]</p> [submit "buy now"]
修改后原邮件模板可直接正常取值。
方案2:修改邮件模板,匹配现有表单字段名称
直接把邮件模板里的标签替换成表单实际的短代码名称text-375、text-878、textarea-949:
From: [text-375] <[text-878]> Subject: 客户咨询(如需用户自定义主题,需在表单添加对应字段) Message Body: [textarea-949] -- This e-mail was sent from a contact form on [_site_title] ([_site_url])
验证方法
修改后重新提交测试表单,检查收到的邮件是否能正确显示用户输入的姓名、邮箱和留言内容。
内容的提问来源于stack exchange,提问作者mixed
相关产品推荐
相关产品推荐

