надеюсь, вы можете мне помочь с этим:
Я использую AWS sam для создания API-шлюза AWS с nodejs. пока все работает нормально, но когда я пытался отправлять электронные письма через AWS SES, я получаю следующую ошибку:
ERROR Invoke Error {«errorType»:»InvalidClientTokenId»,»errorMessage»:»The security token included in the request is invalid.»,»code»:»InvalidClientTokenId»,»message»:»The security token included in the request is invalid.»
я использую следующий код:
const AWS = require(«aws-sdk»); const SESConfig = { accessKeyId: process.env.AWS_ACCESS_KEY_ID_SES, secretAccesskey: process.env.AWS_SECRET_ACCESS_KEY_SES, apiVersion: «2010-12-01», region: process.env.AWS_REGION }; var params = { Destination: { ToAddresses: [ userDataObject.email ] }, Message: { Body: { Html: { Charset: «UTF-8», Data: «This message body contains HTML formatting. It can, for example, contain links like this one: <a class=»ulink» href=»https://docs.aws.amazon.com/ses/latest/DeveloperGuide» target=»_blank»>Amazon SES Developer Guide</a>.» }, Text: { Charset: «UTF-8», Data: «This is the message body in text format.» } }, Subject: { Charset: «UTF-8», Data: «Test email» } }, ReplyToAddresses: [ ], ReturnPath: «», ReturnPathArn: «», Source: «[email protected]», SourceArn: «» }; await new AWS.SES(SESConfig).sendEmail(params).promise().then((response) => { console.log(response); })
- Я дважды проверил, что токены для пользователя IAM в порядке и не содержат специальных символов.
- Я также проверил, что учетная запись SES не находится в режиме песочницы.
- Я проверил, что переменные в SESConfig действительно доступны для чтения и содержат необходимые данные.
- Я попытался использовать полный доступ SES для политики пользователей. Я также пробовал с полными правами администратора
- aws-sdk обычно работает в этом проекте: я могу загружать данные, например, в s3
- отправка электронной почты через smtp с помощью nodemailer, вероятно, сработает, но я не пробовал этого, потому что я действительно хочу опробовать aws-sdk
Я был бы очень рад, если бы кто-нибудь мог указать, делаю ли я что-то не так в целом или у кого-то есть представление о том, что я могу попытаться решить эту проблему
Источник: