---
title: "Adapty Mail 中的双重确认"
description: "在 Adapty Mail 向新收件人发送任何营销邮件之前，要求其确认电子邮件地址。"
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skill. Claude Code (self-updating via plugin): `claude plugin marketplace add adaptyteam/adapty-skills && claude plugin install adapty-skills@adapty` — other tools: `npx skills add adaptyteam/adapty-skills --all`

启用双重确认（double opt-in）后，Adapty Mail 会暂停向所有新用户画像发送营销邮件，直到用户确认该地址属于本人。Adapty Mail 会发送一封确认邮件，等待用户点击确认链接，之后才允许该用户画像进入营销流程。如果你向欧盟或加拿大等要求获得明确同意才能发送营销邮件的市场发送邮件，建议启用此功能。它还能有效过滤输入错误和虚假的邮件地址，避免其出现在营销发送列表中。此设置无需对应用代码进行任何修改。

双重确认（Double opt-in）可以验证地址是否真实，以及用户是否愿意接收你的邮件。但它并不能替代你在获取地址时收集的初始同意。请参阅 [Adapty Mail 在合规方面的处理方式](mail-suppression#what-adapty-mail-handles-for-compliance)。

该设置仅适用于开启后新创建的用户画像，涵盖两个[入口](mail-entry-points)。已存在的用户画像将继续按原有方式接收营销邮件。若要覆盖所有受众，请在[开始发送](mail-get-started#6-start-sending)之前提前开启双重确认。

## 工作原理 \{#how-it-works\}

Adapty Mail 会在收到用户电子邮件地址的那一刻创建用户画像，无论是通过 Adapty SDK 还是 [Adapty Mail API](mail-send-data-via-api) 传入的。启用双重确认后，该时刻将触发一个由两封纯文本邮件组成的确认流程：

1. 第一封邮件在用户画像创建一分钟后发出，要求用户确认地址。
2. 如果用户未确认，72 小时后将发出最后一封提醒邮件。此后，Adapty Mail 将不再发送确认请求。

Until the person confirms, no marketing flow starts for the profile. While the setting is on, a profile that never confirms never receives marketing emails.

确认按钮会打开一个品牌配色的页面，显示已脱敏的邮箱地址，并要求用户点击确认。仅打开链接不会完成确认，因此邮箱扫描器在跟踪链接时无法代替用户完成确认。如果用户尚未购买任何内容，按钮文字将显示为 **Confirm and open my offer**，点击后页面会直接跳转到您的网页付费墙。

确认邮箱地址会产生以下三种效果：

- **提醒已取消**：已为该用户画像安排的所有确认邮件将被丢弃。
- **营销流程启动**：Adapty Mail 会立即为该用户画像评估你的营销流程，与其他事件的处理方式相同。符合流程条件的用户画像将立即进入该流程。
- **不再重复询问**：确认信息只存储一次。之后关闭再开启该设置，不会触发新的请求。

在用户画像的[旅程](mail-profiles#the-activity-journey)中，确认邮件显示为邮件事件，点击操作则显示为 **Confirmation link** 点击。

## 开启双重确认订阅 \{#turn-on-double-opt-in\}

在开启之前，请确保项目中至少有一个[网页付费墙](mail-checkout)。Adapty Mail 会通过 AI 生成确认邮件活动，并需要一个付费墙来引导已确认的用户。如果没有付费墙，开关会报错：*"Failed to update double opt-in"*。

要开启双重确认订阅，请在 Adapty Mail 中前往 **Settings → Project**，在 **Double opt-in** 部分打开开关。该开关可能需要一分钟才能响应，因为 Adapty Mail 会在保存设置之前先生成确认邮件。

开启此开关后，系统会自动创建一个营销活动和一个流程，你可以分别打开查看：

- **Campaign**：一个名为 **Double opt-in** 的事务性营销活动。要找到它，请前往 **Campaigns** 并打开 **Transactional** 标签页。
- **Flow**：一个基于 **Profile created** 触发器的流程，其中包含一行 **All Users** 规则，用于发送该营销活动。要找到它，请前往 **Flows**，打开 **Transactional** 标签页，然后选择 **Profile created**。

该流程与其他流程的运作方式相同。你可以在 **All Users** 行上方添加针对更细分市场的行，也可以将营销活动替换为对两种确认文案进行比较的 [A/B 测试](mail-ab-testing)。在此设置开启期间，请勿删除所有行：否则新用户画像将一直等待一封无人触发的确认邮件，最终什么都收不到。

## 测试双重确认订阅 \{#test-double-opt-in\}

在真实用户进入流程之前，先用一个测试用户画像走一遍完整流程：

1. 在您的应用中，使用一个在该项目中尚无用户画像的邮箱地址注册。或者，在 API 入口处用新地址创建一个用户画像。
2. 在 Adapty Mail 中，进入 **Profiles**，打开新建的用户画像，等待 **Double opt-in** 邮件出现在其旅程中。发送有一分钟的延迟，之后几分钟内即可收到。
3. 在邮件中点击确认按钮，并在打开的页面上完成确认。
4. 返回旅程，点击操作应显示为 **Confirmation link** 点击。如果有匹配该用户画像的营销流程，其第一封邮件应在之后立即排入发送计划。

对于营销链路部分，请参阅[测试 Adapty Mail 流程](mail-testing)。

## 编辑确认邮件 \{#edit-the-confirmation-email\}

确认邮件遵循比营销邮件更严格的规则：

- **确认按钮是占位符**：按钮链接必须为 `{{ confirm_url }}`。Adapty Mail 在发送时会将其替换为每位收件人专属的确认链接。
- **不得含有销售内容**：正文不能提及价格、折扣、试用或截止日期。生成器会拒绝包含上述内容的文案。
- **不得包含其他链接**：邮件中除确认按钮外不含任何其他链接，页脚也不含退订链接。Adapty Mail 同样会省略 `List-Unsubscribe` 请求头，因此邮件客户端不会在确认请求邮件中显示退订按钮。

要重新生成邮件，请从 **Campaigns → Transactional** 打开该营销活动，然后点击 **Generate emails**。对话框中提供了一个 **Purpose** 下拉菜单（已设置为 **Double opt-in**）以及一个 **Custom prompt** 输入框。邮件序列的长度、发送间隔和布局由用途固定，因此营销活动中的语调、图片和邮件数量选项不会出现。

## 关闭双重确认订阅 \{#turn-off-double-opt-in\}

如需关闭双重确认订阅，请前往 **Settings → Project**，在 **Double opt-in** 区域关闭开关。Adapty Mail 会停止 **Profile created** 流程，但保留 **Double opt-in** 活动，因此重新开启该设置时可直接复用已有的邮件，无需重新编写。

关闭后：

- 新用户画像无需确认即可进入营销流程。
- 正在等待确认的用户画像保持原状。Adapty Mail 不会启动之前搁置的营销序列。
- 如果重新开启此设置，在关闭期间创建的用户画像将被视为已有用户，不会收到确认请求。

## 限制 \{#limitations\}

- **确认邮件计入 Campaign 分析数据**：**Double opt-in** 营销活动会作为独立条目显示在 [Analytics](mail-analytics) 页面中，其发送量、打开量和点击量都会计入总数。如需单独查看营销数据，请按 **Campaigns** 分组并将该行排除在外。
- **用户画像中无确认状态**：[Profiles 列表](mail-profiles)及用户画像页面不显示某个地址是已确认还是待确认状态。确认情况仅在旅程中可见。
- **无按国家设置的规则**：该设置适用于项目中所有新用户画像，无论其所在国家。Adapty SDK 和 Adapty Mail API 均没有字段用于标记用户画像已完成授权确认。
- **已有用户画像不受影响**：在您开启该设置之前创建的用户画像不会被要求进行确认。如需向他们收集确认信息，须在 Adapty Mail 之外自行完成。