【发布时间】:2020-12-02 09:31:31
【问题描述】:
我正在尝试使用打字稿中的 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 {AWS} from 'aws-sdk'吗? -
我有
const AWS = require("aws-sdk"); -
是的,但是由于您使用的是打字稿,因此我不确定这是否可以正常工作。
-
我试过
import {AWS} from 'aws-sdk',但这是一个语法错误。它在 aws-sdk 中找不到 AWS,但需要const AWS = require("aws-sdk");
标签: typescript amazon-ses