管理 Amazon SES 身份 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

帮助我们改进Amazon SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

这些区域有:Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 Amazon SES 身份

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何验证 Amazon SES 中使用的电子邮件地址和域。

  • 如何分配Amazon Identity and Access Management针对您的 Amazon SES 身份的 (IAM) 政策。

  • 如何为您列出所有 Amazon SES 身份Amazonaccount.

  • 如何删除 Amazon SES 中使用的身份。

Amazon SES身份是 Amazon SES 用来发送电子邮件的电子邮件地址或域。Amazon SES 要求您验证电子邮件身份、确认您拥有该身份并防止其他人使用。

有关如何验证 Amazon SES 中的电子邮件地址和域的详细信息,请参阅验证 Amazon SES 中的电子邮件地址和域在《Amazon Simple Email Service 开发人员指南》中。有关在 Amazon SES 中发送授权的信息,请参阅。Amazon SES 发送授权概览.

场景

在本示例中,您使用一系列 Node.js 模块验证和管理 Amazon SES 身份。Node.js 模块使用 JavaScript 开发工具包验证电子邮件地址和域,并使用SES客户端类:

前提任务

要设置和运行此示例,您必须先完成以下任务:

  • 设置项目环境以运行这些 Node TypeScript 示例,然后安装所需的Amazon SDK for JavaScript和第三方模块。按照上的说明操作GitHub.

  • 使用用户凭证创建共享配置文件。有关提供凭证 JSON 文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证

重要

这些示例演示了如何使用 ECMASCRIPT6 (ES6) 导入/导出客户端服务对象和命令。

列出你的身份

在本示例中,使用 Node.js 模块列出用于 Amazon SES 的电子邮件地址和域。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的Amazon区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的这里.

创建文件名为 ses_listidentities.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建对象,为 SES 客户端类的 ListIdentitiesCommand 方法传递 IdentityType 及其他参数。调用ListIdentitiesCommand方法中,调用 Amazon SES 服务对象并传递参数对象。

这些区域有:data返回的包含的域身份数组由IdentityType参数。

注意

ReplaceIDENTITY_TYPE使用身份类型,可以是 “EmailAddress” 或 “域”。

// Import required AWS SDK clients and commands for Node.js import { ListIdentitiesCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters var params = { IdentityType: "EmailAddress", // IDENTITY_TYPE: "EmailAddress' or 'Domain' MaxItems: 10, }; const run = async () => { try { const data = await sesClient.send(new ListIdentitiesCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。

node ses_listidentities.js

可以找到这个示例代码GitHub 上的这里.

验证电子邮件地址身份

在本示例中,使用 Node.js 模块验证用于 Amazon SES 的电子邮件发送方。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的Amazon区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的这里.

创建文件名为 ses_verifyemailidentity.js 的 Node.js 模块。如前所示配置 SDK,包括下载所需的客户端和软件包。

创建对象,为 SES 客户端类的 VerifyEmailIdentityCommand 方法传递 EmailAddress 参数。调用VerifyEmailIdentityCommand方法中,调用 Amazon SES 客户端服务对象并传递参数。

注意

ReplaceADDRESS@DOMAIN.EXT使用电子邮件地址,例如 name@example.com。

// Import required AWS SDK clients and commands for Node.js import { VerifyEmailIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters const params = { EmailAddress: "ADDRESS@DOMAIN.EXT" }; //ADDRESS@DOMAIN.EXT; e.g., name@example.com const run = async () => { try { const data = await sesClient.send(new VerifyEmailIdentityCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。域会添加到 Amazon SES 以验证。

node ses_verifyemailidentity.js

可以找到这个示例代码GitHub 上的这里.

验证域身份

在本示例中,使用 Node.js 模块验证用于 Amazon SES 的电子邮件域。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的Amazon区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的这里.

创建文件名为 ses_verifydomainidentity.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建对象,为 SES 客户端类的 VerifyDomainIdentityCommand 方法传递 Domain 参数。调用VerifyDomainIdentityCommand方法中,调用 Amazon SES 客户端服务对象并传递参数对象。

注意

此示例导入并使用必需的Amazon服务 V3 包客户端、V3 命令,并使用send方法采用异步/等待模式。您可以使用 V2 命令创建此示例,而是通过进行一些小的更改。有关详细信息,请参阅 使用 V3 命令

注意

ReplaceAMI_ID要运行的 Amazon 系统映像 (AMI) 的 ID,并且KEY_PAIR_NAME要分配给 AMI ID 的 key pair。

// Import required AWS SDK clients and commands for Node.js import { VerifyDomainIdentityCommand, } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters const params = { Domain: "DOMAIN_NAME" }; //DOMAIN_NAME const run = async () => { try { const data = await sesClient.send(new VerifyDomainIdentityCommand(params)); console.log("Success", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。域会添加到 Amazon SES 以验证。

node ses_verifydomainidentity.js

可以找到这个示例代码GitHub 上的这里.

删除身份

在本示例中,使用 Node.js 模块删除用于 Amazon SES 的电子邮件地址或域。

创建libs目录,并创建文件名为的 Node.js 模块sesClient.js. 将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace领域和您的Amazon区域。

import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };

可以找到这个示例代码GitHub 上的这里.

创建文件名为 ses_deleteidentity.js 的 Node.js 模块。如前所示配置 SDK,包括安装所需的客户端和软件包。

创建对象,为 SES 客户端类的 DeleteIdentityCommand 方法传递 Identity 参数。调用DeleteIdentityCommand方法,创建request要调用 Amazon SES 客户端服务对象,请传递参数。

注意

此示例导入并使用必需的Amazon服务 V3 包客户端、V3 命令,并使用send方法采用异步/等待模式。您可以使用 V2 命令创建此示例,而是通过进行一些小的更改。有关详细信息,请参阅 使用 V3 命令

注意

ReplaceIDENTITY_TYPE要删除身份类型,以及IDENTITY_NAME将删除身份的名称。

// Import required AWS SDK clients and commands for Node.js import { DeleteIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; // Set the parameters const params = { IdentityType: "IDENTITY_TYPE", // IDENTITY_TYPE - i.e., 'EmailAddress' or 'Domain' Identity: "IDENTITY_NAME", }; // IDENTITY_NAME const run = async () => { try { const data = await sesClient.send(new DeleteIdentityCommand(params)); console.log("Success", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();

要运行示例,请在命令提示符处输入以下内容。

node ses_deleteidentity.js

可以找到这个示例代码GitHub 上的这里.