WordPress搭建邮箱捕获机制并自动发送带白皮书链接邮件方案咨询
WordPress 邮箱捕获+自动发白皮书邮件解决方案
先搞定 Contact Form 7 的问题(如果不想换插件)
之前用CF7失效,大概率是这几个原因,挨个排查:
- 邮件配置错了:进CF7的「邮件」标签,收件人别填固定邮箱,要用你表单里邮箱字段的短代码(比如你表单里邮箱字段的name是
user-email,就填[user-email]);邮件内容里直接把白皮书的下载链接贴进去就行。 - 邮件发不出去:CF7默认用WordPress自带的邮件函数,很容易被拦截。直接装个WP Mail SMTP插件,配置成用你的企业邮箱或者Gmail发件,这样邮件基本能正常送到用户邮箱。
- 表单没做验证:给邮箱字段开「必填」和「邮箱格式验证」,避免用户填错邮箱导致发送失败。
- 看错误日志找问题:进CF7的「工具」标签看邮件发送日志,或者在
wp-config.php里加一行define('WP_DEBUG', true);开启调试,看具体报错信息。
换个更省心的插件:Mailchimp for WordPress
这个插件专门做邮箱捕获,步骤简单:
- 装完激活后,关联你的Mailchimp账号(没有就注册一个)。
- 新建一个捕获表单,只留邮箱字段就行,设置提交后自动把用户加到Mailchimp的列表里,同时触发自动回复邮件。
- 去Mailchimp后台设置自动回复邮件,把白皮书的下载链接放进去,用户一提交邮箱就能收到。
- 把生成的表单短代码贴到你需要的页面或者侧边栏就搞定了。
自己写代码实现(适合会点开发的人)
不想用插件的话,自己写几行代码就行:
- 添加HTML表单:把这段代码放到你要放捕获框的页面模板或者自定义页面里:
<form id="email-capture-form" method="post"> <input type="email" name="user_email" required placeholder="输入您的邮箱"> <button type="submit">获取白皮书</button> <?php wp_nonce_field('email_capture_nonce', 'email_capture_nonce_field'); ?> </form>
- 处理表单提交:在主题的
functions.php里加这段代码:
add_action('init', 'handle_email_capture'); function handle_email_capture() { if (isset($_POST['user_email']) && isset($_POST['email_capture_nonce_field']) && wp_verify_nonce($_POST['email_capture_nonce_field'], 'email_capture_nonce')) { $user_email = sanitize_email($_POST['user_email']); // 替换成你的白皮书实际下载链接 $whitepaper_link = 'https://your-site.com/wp-content/uploads/2024/05/whitepaper.pdf'; $subject = '您的白皮书下载链接'; $message = '感谢您的申请,点击下方链接下载白皮书:<br><a href="' . $whitepaper_link . '">' . $whitepaper_link . '</a>'; $headers = array('Content-Type: text/html; charset=UTF-8'); // 发送邮件 wp_mail($user_email, $subject, $message, $headers); // 提交后跳转回原页面并显示成功提示 wp_redirect(add_query_arg('success', '1', $_SERVER['HTTP_REFERER'])); exit; } }
- 添加成功提示:在页面里加这段代码,用户提交后会显示成功信息:
if (isset($_GET['success']) && $_GET['success'] == '1') { echo '<p style="color:green; font-size:16px;">邮件已发送,请查收您的邮箱!</p>'; }
注意:同样要装WP Mail SMTP配置发件邮箱,不然邮件大概率会被当成垃圾邮件。
内容的提问来源于stack exchange,提问作者Nurav
相关产品推荐
相关产品推荐

