如何在WordPress中为Contact Form 7集成Mailjet邮件服务
嘿,我之前刚好处理过一模一样的需求,给你几个靠谱的实现方案,亲测能用:
方案1:用Mailjet发送CF7的表单通知邮件(替代默认WP邮件)
如果你的核心需求是让Contact Form 7发送的邮件通过Mailjet的服务提升送达率,这个方案最简单:
- 安装并启用WP Mail SMTP这类通用SMTP插件(不需要专门的Mailjet插件)
- 进入插件设置页面,选择「Mailjet」作为邮件发送服务商
- 填入你在Mailjet后台获取的「API密钥」和「Secret密钥」(在Mailjet后台的「Settings → API Keys」里可以找到)
- 配置好发件人邮箱和名称,记得先在Mailjet里验证这个发件邮箱
- 测试发送一封邮件确认配置正常,之后CF7的所有表单通知邮件都会自动通过Mailjet发送
方案2:把CF7提交的用户数据同步到Mailjet邮件列表(替代Mailchimp的订阅功能)
如果你的需求是将表单提交的用户信息自动加入Mailjet的订阅列表,可以用CF7的钩子结合Mailjet API实现,完全自定义:
- 先在Mailjet后台创建好目标邮件列表,记下列表的ID(在列表详情页的URL或者设置里能找到)
- 拿到你的Mailjet API密钥和Secret密钥(同样在「Settings → API Keys」)
- 打开你的WordPress主题的
functions.php文件(记得先备份!),添加以下代码,替换掉占位符:
add_action( 'wpcf7_mail_sent', 'cf7_sync_to_mailjet_list' ); function cf7_sync_to_mailjet_list( $contact_form ) { // 获取CF7提交的表单数据 $submission = WPCF7_Submission::get_instance(); if ( !$submission ) return; $posted_data = $submission->get_posted_data(); // 替换成你CF7表单里的实际字段名,比如邮箱字段是「your-email」,姓名是「your-name」 $user_email = $posted_data['your-email']; $user_name = $posted_data['your-name']; // Mailjet配置,替换成你的信息 $mailjet_api_key = '你的Mailjet API密钥'; $mailjet_secret_key = '你的Mailjet Secret密钥'; $mailjet_list_id = '你的Mailjet列表ID'; // 调用Mailjet API添加联系人到列表 $api_url = 'https://api.mailjet.com/v3/REST/contactslist/' . $mailjet_list_id . '/managecontact'; $request_args = array( 'headers' => array( 'Authorization' => 'Basic ' . base64_encode( $mailjet_api_key . ':' . $mailjet_secret_key ), 'Content-Type' => 'application/json', ), 'body' => json_encode( array( 'Email' => $user_email, 'Name' => $user_name, 'Action' => 'addnoforce', // 已存在的联系人会忽略,要更新信息就改成「addforce」 ) ), 'method' => 'POST', ); wp_remote_post( $api_url, $request_args ); }
- 注意:一定要根据你CF7表单的字段名修改代码里的
$posted_data键值,比如你的邮箱字段是[email* your-email],就用$posted_data['your-email'] - 测试表单提交后,去Mailjet列表里查看是否成功添加了联系人
方案3:无代码自动化方案(适合不想碰代码的情况)
如果不想折腾代码,可以用自动化工具实现同步:
- 用Zapier或者Make这类工具,创建一个自动化流程:
- 触发条件选「WordPress → 当Contact Form 7有新提交」
- 动作选「Mailjet → 添加联系人到列表」(或者发送自定义邮件)
- 分别连接你的WordPress和Mailjet账号,把CF7的表单字段映射到Mailjet的对应字段
- 测试流程没问题后启用,之后每次CF7提交都会自动同步到Mailjet
额外提示
- 修改主题
functions.php前一定要备份文件,避免出错导致网站崩溃 - Mailjet免费版的API调用限制足够小流量网站使用,大流量可以考虑升级付费版
- 不管用哪种方案,都要确保你的发件邮箱已经在Mailjet后台完成验证,不然邮件可能会被拦截
内容的提问来源于stack exchange,提问作者Bhumi Sukhadiya
相关产品推荐
相关产品推荐

