Amazon SDK for JavaScript V3 API 参考指南详细描述了 Amazon SDK for JavaScript 版本 3 (V3) 的所有API操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理亚马逊SES身份
此 Node.js 代码示例演示:
如何验证在 Amazon 上使用的电子邮件地址和域名SES。
如何为您的亚马逊SES身份分配 Amazon Identity and Access Management (IAM) 策略。
如何列出您 Amazon 账户的所有 Amazon SES 身份。
如何删除在 Amazon 上使用的身份SES。
亚马逊SES身份是亚马逊SES用来发送电子邮件的电子邮件地址或域名。Amazon SES 要求您验证您的电子邮件身份,确认您拥有这些身份并防止他人使用它们。
有关如何在亚马逊中验证电子邮件地址和域名的详细信息SES,请参阅《亚马逊简单电子邮件服务开发者指南》SES中的在亚马逊中验证电子邮件地址和域名。有关在亚马逊中发送授权的信息SES,请参阅亚马逊SES发送授权概述。
情景
在此示例中,您将使用一系列 Node.js 模块来验证和管理亚马逊SES身份。Node.js 模块使用 f SDK or JavaScript 来验证电子邮件地址和域,使用SES
客户端类的以下方法:
完成先决条件任务
要设置和运行此示例,您必须先完成以下任务:
-
设置项目环境以运行这些 Node TypeScript 示例,并安装所需的模块 Amazon SDK for JavaScript 和第三方模块。按照上的说明进行操作 GitHub
。 使用用户凭证创建共享配置文件。有关提供共享凭据文件的更多信息,请参阅和工具参考指南中的共享配置Amazon SDKs和凭据文件。
重要
这些示例演示了如何使用 ECMAScript6 () ES6 导入/导出客户端服务对象和命令。
这需要使用 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅 Node.js 下载
。 如果您更喜欢使用 CommonJS 语法,请参阅 JavaScript ES6/CommonJS 语法。
列出身份
在此示例中,使用 Node.js 模块列出用于亚马逊的电子邮件地址和域名SES。
创建一个 libs
目录,然后使用文件名 sesClient.js
创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace(替换) REGION
与您所在 Amazon 的地区。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
可以在此处找到此
创建文件名为 ses_listidentities.js
的 Node.js 模块。SDK如前所示进行配置,包括安装所需的客户端和软件包。
创建对象,为 SES
客户端类的 ListIdentitiesCommand
方法传递 IdentityType
及其他参数。要调用该ListIdentitiesCommand
方法,请调用 Amazon SES 服务对象,传递参数对象。
返回的 data
包含 IdentityType
参数所指定的域身份数组。
注意
Replace(替换) IdentityType
使用身份类型,可以是 “EmailAddress” 或 “域”。
import { ListIdentitiesCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const createListIdentitiesCommand = () => new ListIdentitiesCommand({ IdentityType: "EmailAddress", MaxItems: 10 }); const run = async () => { const listIdentitiesCommand = createListIdentitiesCommand(); try { return await sesClient.send(listIdentitiesCommand); } catch (err) { console.log("Failed to list identities.", err); return err; } };
要运行示例,请在命令提示符中键入以下内容。
node ses_listidentities.js
可以在此处找到此
验证电子邮件地址身份
在此示例中,使用 Node.js 模块验证电子邮件发件人是否适用于亚马逊SES。
创建一个 libs
目录,然后使用文件名 sesClient.js
创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace(替换) REGION
与您所在 Amazon 的地区。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
可以在此处找到此
创建文件名为 ses_verifyemailidentity.js
的 Node.js 模块。SDK如前所示进行配置,包括下载所需的客户端和软件包。
创建对象,为 SES
客户端类的 VerifyEmailIdentityCommand
方法传递 EmailAddress
参数。要调用该VerifyEmailIdentityCommand
方法,请调用 Amazon SES 客户端服务对象,并传递参数。
注意
Replace(替换) EMAIL_ADDRESS
使用电子邮件地址,例如 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"; const EMAIL_ADDRESS = "name@example.com"; const createVerifyEmailIdentityCommand = (emailAddress) => { return new VerifyEmailIdentityCommand({ EmailAddress: emailAddress }); }; const run = async () => { const verifyEmailIdentityCommand = createVerifyEmailIdentityCommand(EMAIL_ADDRESS); try { return await sesClient.send(verifyEmailIdentityCommand); } catch (err) { console.log("Failed to verify email identity.", err); return err; } };
要运行示例,请在命令提示符中键入以下内容。该域名已添加SES到 Amazon 进行验证。
node ses_verifyemailidentity.js
可以在此处找到此
验证域身份
在此示例中,使用 Node.js 模块验证要在亚马逊上使用的电子邮件域SES。
创建一个 libs
目录,然后使用文件名 sesClient.js
创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace(替换) REGION
与您所在 Amazon 的地区。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
可以在此处找到此
创建文件名为 ses_verifydomainidentity.js
的 Node.js 模块。SDK如前所示进行配置,包括安装所需的客户端和软件包。
创建对象,为 SES
客户端类的 VerifyDomainIdentityCommand
方法传递 Domain
参数。要调用该VerifyDomainIdentityCommand
方法,请调用 Amazon SES 客户端服务对象,传递参数对象。
注意
此示例导入并使用所需的 S Amazon ervice V3 包客户端、V3 命令,并以异步/等待模式使用该send
方法。您可以改用 V2 命令创建此示例,方法是进行一些细微的更改。有关更多信息,请参阅 使用 v3 命令。
注意
Replace(替换) DOMAIN_NAME
用域名。
import { VerifyDomainIdentityCommand } from "@aws-sdk/client-ses"; import { getUniqueName, postfix, } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; /** * You must have access to the domain's DNS settings to complete the * domain verification process. */ const DOMAIN_NAME = postfix(getUniqueName("Domain"), ".example.com"); const createVerifyDomainIdentityCommand = () => { return new VerifyDomainIdentityCommand({ Domain: DOMAIN_NAME }); }; const run = async () => { const VerifyDomainIdentityCommand = createVerifyDomainIdentityCommand(); try { return await sesClient.send(VerifyDomainIdentityCommand); } catch (err) { console.log("Failed to verify domain.", err); return err; } };
要运行示例,请在命令提示符中键入以下内容。该域名已添加SES到 Amazon 进行验证。
node ses_verifydomainidentity.js
可以在此处找到此
删除身份
在此示例中,使用 Node.js 模块删除亚马逊使用的电子邮件地址或域名SES。
创建一个 libs
目录,然后使用文件名 sesClient.js
创建一个 Node.js 模块。将以下代码复制并粘贴到其中,这将创建 Amazon SES 客户端对象。Replace(替换) REGION
与您所在 Amazon 的地区。
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
可以在此处找到此
创建文件名为 ses_deleteidentity.js
的 Node.js 模块。SDK如前所示进行配置,包括安装所需的客户端和软件包。
创建对象,为 SES
客户端类的 DeleteIdentityCommand
方法传递 Identity
参数。要调用该DeleteIdentityCommand
方法,请创建request
用于调用 Amazon SES 客户端服务对象的,并传递参数。
注意
此示例导入并使用所需的 S Amazon ervice V3 包客户端、V3 命令,并以异步/等待模式使用该send
方法。您可以改用 V2 命令创建此示例,方法是进行一些细微的更改。有关更多信息,请参阅 使用 v3 命令。
注意
Replace(替换) IDENTITY_EMAIL
并附上要删除的身份电子邮件。
import { DeleteIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const IDENTITY_EMAIL = "fake@example.com"; const createDeleteIdentityCommand = (identityName) => { return new DeleteIdentityCommand({ Identity: identityName, }); }; const run = async () => { const deleteIdentityCommand = createDeleteIdentityCommand(IDENTITY_EMAIL); try { return await sesClient.send(deleteIdentityCommand); } catch (err) { console.log("Failed to delete identity.", err); return err; } };
要运行示例,请在命令提示符中键入以下内容。
node ses_deleteidentity.js
可以在此处找到此