AWS 的 JavaScript SDK 第 3 版似乎有 2 个不同的简单电子邮件服务 (SES) 客户端。
我意识到我一直在使用 @aws-sdk/client-sesv2 但是:
我们应该使用 v1 还是 v2?两者有什么区别?
经过一番研究,AWS SDK for JavaScript 似乎有两个版本:
@aws-sdk
下的版本 2:https://www.npmjs.com/package/aws-sdk@aws-sdk/client-*
下的版本 3:例如,https://www.npmjs.com/package/@aws-sdk/client-sesSDK 版本 2 将于 2023 年进入维护模式。
现在第一层混乱已经消除,AWS SES API 也有 2 个版本:
因此,根据本次调查,我推测这些包指向不同的 API 版本。
尽管有这个名字,v2 实际上是客户端的旧版本。
您应该使用
@aws-sdk/client-ses
,这是 v3。
来源:
请参阅 AWS SES 文档中的代码示例部分,单击“Javascript”选项卡,代码示例标题为:
JavaScript SDK (v3)
从代码片段开始:
import { SendEmailCommand } from "@aws-sdk/client-ses";
亚马逊的回应问:
要使用 Amazon SES API 发送电子邮件,您可以选择使用 @aws-sdk/client-ses 包或 @aws-sdk/client-sesv2 包。以下是一些主要区别:
- @aws-sdk/client-ses 包与原始 Amazon SES API(版本 2010-12-01)交互,而 @aws-sdk/client-sesv2 与较新的 Amazon SES API 版本 2020-12-01 交互。
- 原始 SES API 已达到生命周期终点,将被弃用。因此,对于新应用程序,建议使用 SESv2 API 和 @aws-sdk/client-sesv2 包。
- SESv2 API 提供了附加功能,例如支持联系人列表、电子邮件模板以及将事件发布到 SNS 主题。它还改进了对电子邮件内容过滤和送达通知等功能的支持。
- @aws-sdk/client-sesv2 包遵循 AWS SDK 最佳实践,具有异步操作、配置生成器和响应分页等功能。