typescript - 在 typescript 中使用 SES 发送电子邮件
问题描述
我正在尝试在打字稿中使用 ses 设置电子邮件服务。我按照这个例子https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/ses/ses_sendemail.js但我明白了
AWS.ses 不是构造函数。
这是我的 emailService 类
const AWS = require("aws-sdk");
const loggerService: LoggerServiceInterface = new LoggerService();
AWS.config.update({region: "us-east-1"});
export class EmailService {
sendEmail(recipient: string): Promise<boolean> {
const params = {
Destination: { /* required */
CcAddresses: [
"abcd@gmail.com",
/* more items */
],
ToAddresses: [
"abcd@gmail.com",
/* more items */
]
},
Message: { /* required */
Body: { /* required */
Html: {
Charset: "UTF-8",
Data: "HTML_FORMAT_BODY"
},
Text: {
Charset: "UTF-8",
Data: "TEXT_FORMAT_BODY"
}
},
Subject: {
Charset: "UTF-8",
Data: "Test email"
}
},
Source: "xyxy@gmail.com",
ReplyToAddresses: [
"xyxy@gmail.com",
],
};
const sendPromise = new AWS.SES({apiVersion: "2010-12-01"}).sendEmail(params).promise();
sendPromise.then(function(data) {
console.log(data.MessageId);
}).catch(
function(err) {
console.error(err, err.stack);
});
return Promise.resolve(true);
}
}
我在一个 sanbox 环境中,并且这两封电子邮件都经过验证。我错过了什么吗?
解决方案
这对我有用
import { SES, AWSError } from 'aws-sdk';
import { SendEmailRequest, SendEmailResponse } from 'aws-sdk/clients/ses';
const ses = new SES();
const params: SendEmailRequest = {
Source: sender,
Destination: {
ToAddresses: [
recipient
]
},
Message: {
Subject: {
Data: subject,
Charset: charset
},
Body: {
Text: {
Data: body,
Charset: charset
},
Html: {
Data: html,
Charset: charset
}
}
}
}
ses.sendEmail(params, (err: AWSError, data: SendEmailResponse) => {
if (err) console.log(err, err.stack);
else console.log(data);
});
推荐阅读
- .net-core - 使用 csproj 在 NuGet 包中包含非托管 DLL
- ruby-on-rails - RAILS 获取网站地理位置和标题
- c++ - 如何使用静态链接到 VC 运行时库来构建非 MFC C++ 项目?
- python - 如何获取 BlueJeans REST API 的 user_id 或 enterprise_id?
- c++ - 以高效的 C++11 方式将指向数组的指针转换为结构
- vue.js - Vue.js devtools 没有在挂载中捕获发射
- replace - 冷熔替换功能无法正常工作
- sql-server - 将数据库备份到 URL 时延迟 AZURE BLOB STORAGE
- java - 未找到 java.lang.NoClassDefFoundError 类:javax / servlet / SessionCookieConfig
- python - 在 pandas 中加入(组合)两个系列