You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在店铺注册流程中向Mailjet添加订阅者并触发double-opt-in邮件?

解决Mailjet API触发Double-Opt-In邮件的方案

我之前刚好处理过类似的自定义注册流程需求,要避免直接将用户设为已确认订阅,而是通过API触发Mailjet的双重验证邮件。下面是具体的实现步骤:

核心思路

Mailjet默认用addforce动作添加联系人时会直接确认订阅,但我们可以通过特定API参数,让联系人处于**待确认(OptInPending)**状态,并触发系统发送预设的双重验证邮件,完全不需要依赖官方widget。

具体实现步骤

1. 先在Mailjet后台配置Double-Opt-In邮件模板

首先得确保你已经在Mailjet后台设置好确认邮件的模板:

  • 登录Mailjet后台,进入Contacts > Lists,选择你的目标订阅列表
  • 进入Settings > Double Opt-in页面
  • 配置确认邮件的主题、内容,Mailjet会自动生成带验证逻辑的确认链接(你不需要自己开发链接验证,用户点击后系统会自动更新订阅状态)

2. 调用Mailjet的managecontact API添加联系人并触发邮件

不要用普通的创建联系人API,直接调用列表的联系人管理接口,一步完成添加联系人+触发确认邮件的操作。

请求示例(cURL)

curl -X POST "https://api.mailjet.com/v3/REST/contactslist/{YOUR_LIST_ID}/managecontact" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY:YOUR_SECRET_KEY" \
-d '{
  "Email": "new-user@example.com",
  "Action": "addnoforce",
  "SendConfirmation": true
}'

关键参数说明

  • Action: addnoforce:这个是核心参数——如果邮箱不存在,会添加到列表并设置状态为OptInPending(待确认);如果邮箱已存在且是未订阅/待确认状态,会重新发送确认邮件;如果已经是已订阅状态,不会重复操作(避免骚扰用户)。
  • SendConfirmation: true:明确告诉Mailjet发送双重验证邮件给该联系人。

3. 集成到你的店铺注册流程

在用户完成注册表单提交后,你的后端服务执行以下逻辑:

  • 捕获用户输入的邮箱地址
  • 调用上述Mailjet API,传入邮箱、你的列表ID、指定的Action和SendConfirmation参数
  • 根据API返回结果给用户反馈,比如:“确认邮件已发送,请查收邮箱完成订阅”

额外注意事项

  • 不要手动设置IsOptIned为true,否则会直接跳过双重验证流程
  • 处理API返回的错误:比如邮箱格式错误、API密钥无效、列表不存在等情况,给用户友好的提示
  • 测试时用自己的邮箱验证全流程:确认邮件是否正常收到,点击链接后联系人状态是否变为OptIned(可在Mailjet后台的联系人列表中查看)

内容的提问来源于stack exchange,提问作者suntrop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:05:28