> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 邮件地址验证

> 在 CSV 导入期间及批量验证邮件地址，以减少退信并保护您的发件人声誉。

邮件地址验证在邮件地址到达您的受众之前检测常见问题。它标记可能增加退信率或损害发件人声誉的拼写错误、无效域名、基于角色的地址和一次性邮件服务。

它在 CSV 导入期间自动运行，也可作为对现有受众进行批量验证的工具。

<Note>
  邮件地址验证根据 OneSignal 的验证标准检查地址。这不是实时退信验证检查，也不保证送达率。
</Note>

## 验证检查

邮件地址验证针对以下检查评估每个地址：

| 检查          | 检测内容                                     |
| ----------- | ---------------------------------------- |
| **语法验证**    | 缺少必要组件的格式错误地址（例如，缺少 `@`，无效的 TLD）         |
| **拼写错误检测**  | 常见域名拼写错误，如 `gnail.com` 或 `gmail.con`     |
| **MX 记录检查** | 没有有效邮件交换记录的域名；发送到此处的邮件无法送达               |
| **基于角色的地址** | 如 `sales@`、`info@`、`admin@` 等不太可能属于个人的地址 |
| **一次性邮件**   | 与临时或一次性邮件服务相关的域名                         |

<Note>
  **免费计划**包含语法验证和拼写错误检测。**付费计划**包含以上所有功能，以及 MX 记录检查、基于角色的地址检测和一次性邮件过滤。
</Note>

如果地址未通过某项检查，邮件地址验证将返回解释具体问题的可读错误。如果地址未通过多项检查，所有失败原因将一起返回，以便您一次性处理所有问题。

***

## 在 CSV 导入期间验证地址

导入 CSV 时，您可以在确认导入之前在**审核**步骤中配置邮件地址验证设置。

<Steps>
  <Step title="开始 CSV 导入">
    前往**受众 > 导入**并上传您的文件。完成**上传**和**映射字段**步骤。如果检测到任何无效邮件地址，**映射字段**步骤将出现警告。

    <Frame caption="映射字段步骤中检测到无效邮件的警告">
      <img src="https://mintcdn.com/onesignal/BtlAtFOavkYyZTGB/images/email/import_csv_invalid_email_detection.png?fit=max&auto=format&n=BtlAtFOavkYyZTGB&q=85&s=148ddc3343cca3ffddc8d6f3458a740a" alt="CSV 导入映射字段步骤显示检测到无效邮件警告" width="1866" height="914" data-path="images/email/import_csv_invalid_email_detection.png" />
    </Frame>
  </Step>

  <Step title="在审核步骤中配置验证设置">
    在**审核**步骤中，展开**邮件地址验证设置**。以下选项可用：

    <Frame caption="审核步骤中的邮件地址验证设置">
      <img src="https://mintcdn.com/onesignal/BtlAtFOavkYyZTGB/images/email/import_csv_validation_check.png?fit=max&auto=format&n=BtlAtFOavkYyZTGB&q=85&s=580a816aea94d087613178d392eee234" alt="CSV 导入审核步骤中展开的邮件地址验证设置" width="1814" height="1382" data-path="images/email/import_csv_validation_check.png" />
    </Frame>

    * **验证邮件域名（MX 记录）**：确认域名可以接收邮件
    * **排除一次性邮件地址**：防止可能降低参与度的临时或一次性地址
    * **排除基于角色的邮件地址**：防止通常参与度较低的共享地址，如 `info@` 或 `support@`

    默认情况下，三项全部启用。取消选中任何您不想应用于此次导入的选项。

    <Note>
      如果您需要导入无效邮件地址（例如，更新抑制或订阅状态），请勾选**允许无效邮件地址**。这将绕过验证并接受任何字符串作为邮件地址。
    </Note>
  </Step>

  <Step title="确认并导入">
    点击**确认并导入**。导入完成后，您将收到一封总结结果的邮件：

    * 已添加的订阅
    * 已修改的订阅
    * 未导入的行，附有下载被拒绝行的链接
  </Step>
</Steps>

#### 结果

有效地址将添加到您的受众。导入完成后您会收到邮件。验证失败的地址将被排除，可通过结果邮件中的链接下载。

***

## 批量验证现有受众

使用批量验证检查 OneSignal 受众中已有的邮件地址。您将通过邮件以 CSV 导出的形式收到结果。

<Steps>
  <Step title="打开验证邮件地址工具">
    前往**受众 > 订阅**（或**受众 > 用户**），点击**更新/导入用户**，然后选择**验证邮件地址**。

    <Frame caption="更新/导入用户菜单中的验证邮件地址选项">
      <img src="https://mintcdn.com/onesignal/BtlAtFOavkYyZTGB/images/email/validate_emails_sub_page.png?fit=max&auto=format&n=BtlAtFOavkYyZTGB&q=85&s=13700c5faffd0a46acdff1b3d687805f" alt="更新/导入用户下拉菜单中突出显示验证邮件地址选项" width="560" height="254" data-path="images/email/validate_emails_sub_page.png" />
    </Frame>
  </Step>

  <Step title="开始验证">
    在弹窗中，点击**开始验证**。邮件地址验证将对您的应用中的所有邮件地址运行。

    <Frame caption="验证邮件地址确认弹窗">
      <img src="https://mintcdn.com/onesignal/YsI3AV6UZEH5Saz0/images/email/bulk_validation_modal.png?fit=max&auto=format&n=YsI3AV6UZEH5Saz0&q=85&s=ac498afd710057320ec00644f4e27d30" alt="显示开始验证按钮的验证邮件地址弹窗" width="1144" height="560" data-path="images/email/bulk_validation_modal.png" />
    </Frame>
  </Step>

  <Step title="通过邮件接收结果">
    验证完成后，您将收到来自 OneSignal 的邮件，其中包含**下载 CSV 导出**链接。该链接在 72 小时内有效。邮件总结了失败地址的数量，按以下分类：

    <Frame caption="包含分类和下载 CSV 导出链接的 OneSignal 验证结果邮件">
      <img src="https://mintcdn.com/onesignal/BtlAtFOavkYyZTGB/images/email/errors%20email.png?fit=max&auto=format&n=BtlAtFOavkYyZTGB&q=85&s=8655e75c51f2d96dbdcb911a528f4e89" alt="显示验证摘要和下载 CSV 导出按钮的 OneSignal 结果邮件" width="1510" height="1182" data-path="images/email/errors email.png" />
    </Frame>

    * 拼写错误
    * 基于角色的地址
    * 一次性域名
    * 无效 MX 记录
  </Step>

  <Step title="审查并重新导入">
    下载 CSV 并审查被标记的地址。

    <Frame caption="邮件验证结果的 CSV 导出">
      <img src="https://mintcdn.com/onesignal/q67Fo0fbZTTYBU0c/images/email/csv-export-email-validation.png?fit=max&auto=format&n=q67Fo0fbZTTYBU0c&q=85&s=8db9d159b9da06d7f26f3d4097455f37" alt="显示 email、reason、suggested_email、created_at、last_opened 和 last_clicked 列的 CSV 导出" width="868" height="74" data-path="images/email/csv-export-email-validation.png" />
    </Frame>

    要清理您的受众，请创建包含已更正或已处理地址的新 CSV，并使用以下列格式之一重新导入：

    | 目标         | 必需列                  | 值                     |
    | ---------- | -------------------- | --------------------- |
    | 重新订阅已更正的地址 | `email`、`subscribed` | `subscribed` = `yes`  |
    | 取消订阅被标记的地址 | `email`、`subscribed` | `subscribed` = `no`   |
    | 抑制被标记的地址   | `email`、`suppressed` | `suppressed` = `true` |
  </Step>
</Steps>

#### 结果

您将收到一封包含被标记地址 CSV 导出的邮件，以及按错误类型分类的验证结果摘要。

***

## 验证错误参考

以下错误可能出现在验证结果中：

| 错误             | 含义                                                              | 处理方式                    |
| -------------- | --------------------------------------------------------------- | ----------------------- |
| **无效输入**       | 地址格式错误，不满足基本语法要求（例如，缺少 `@`，无效的 TLD）。                            | 更正或删除该地址。               |
| **邮件地址中有拼写错误** | 在域名中检测到可能的拼写错误。相邻列中会显示建议的更正。                                    | 应用建议的更正或删除该地址。          |
| **未找到 MX 记录**  | 域名没有有效的邮件交换记录。邮件无法送达此地址。                                        | 删除或抑制该地址。               |
| **基于角色的邮件地址**  | 本地部分（`@` 前面）与已知的基于角色的模式匹配，如 `sales@` 或 `support@`。这些地址不太可能属于个人。 | 审查该地址是否适合您的用例，然后抑制或删除它。 |
| **一次性邮件地址**    | 域名与临时或一次性邮件服务相关。                                                | 抑制或删除该地址。               |

***

## API 错误响应

邮件地址验证也适用于通过 API 提交的地址。以下各节描述您可能遇到的错误响应。

<Note>
  API 验证仅检查邮件地址的格式是否正确。它不检查拼写错误、MX 记录、基于角色的地址或一次性域名。这些检查仅在 CSV 导入和批量验证期间可用。
</Note>

### 发送邮件：创建消息

当您通过[创建消息端点](/reference/create-message)发送到一个或多个无效地址时，无效地址将被排除在投递之外，并在 `invalid_email_tokens` 下返回。

```json theme={null}
{
  "id": "",
  "errors": {
    "invalid_email_tokens": ["invalid@email"]
  }
}
```

### 添加用户或订阅：用户模型 API

当您通过[创建用户](/reference/create-user)或[创建订阅](/reference/create-subscription)端点使用无效邮件创建用户或订阅时：

```json theme={null}
{
  "errors": [
    {
      "title": "Invalid `token` format for device type email"
    }
  ]
}
```

### 添加设备：旧版 Players API

当您通过[旧版 Players API](/reference/add-a-device) 使用无效邮件添加或编辑播放器记录时：

```json theme={null}
{
  "success": false,
  "errors": ["[\"Identifier invalid format.\"]"]
}
```

<Warning>
  旧版 Players API 已弃用。请迁移到[用户模型 API](/reference/create-user)，以获取更具描述性的验证错误并访问当前功能。
</Warning>
