Reputation: 15
I have used an env file and i used the structure like this and getting this error how to resolve that
"AWS_SES_REGION":"us-east-1" and i have put us-west-2 also but still getting the same error
"AWS_ACCESS_KEY_ID":"value"
"AWS_SECRET_KEY":"value"
and here is the code which i am using to send the email can anyone suggest me how to solve this problem
require('dotenv').config();
const AWS = require('aws-sdk');
const SESConfig = {
apiVersion:"2010-12-01",
accessKeyId:process.env.AWS_SECRET_KEY,
accessSecretKey:process.env.AWS_SECRET_KEY,
region:process.env.AWS_SES_REGION
}
// AWS.SESConfig.update({region: 'eu-central-1'});
var params = {
Source: '[email protected]',
Destination: {
ToAddresses: [
'[email protected]'
]
},
ReplyToAddresses: [
'[email protected]',
],
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: 'IT IS <strong>WORKING</strong>!'
}
},
Subject: {
Charset: 'UTF-8',
Data: 'Node + SES Example'
}
}
};
new AWS.SES(SESConfig).sendEmail(params).promise().then((res) => {
console.log(res);
}).catch(error => {
console.log(error)
});
Upvotes: 1
Views: 1493
Reputation: 10604
Try to load the config using the AWS.Config
class.
Example:
require('dotenv').config();
const AWS = require('aws-sdk');
const SESConfig = {
apiVersion: "2010-12-01",
accessKeyId: process.env.AWS_SECRET_KEY,
accessSecretKey: process.env.AWS_SECRET_KEY,
region: process.env.AWS_SES_REGION
}
let config = new AWS.Config(SESConfig); // Load the configuration like this.
/*
Or you could update the config like this.
AWS.config.update(SESConfig);
*/
var params = {
Source: '[email protected]',
Destination: {
ToAddresses: [
'[email protected]'
]
},
ReplyToAddresses: [
'[email protected]',
],
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: 'IT IS <strong>WORKING</strong>!'
}
},
Subject: {
Charset: 'UTF-8',
Data: 'Node + SES Example'
}
}
};
new AWS.SES().sendEmail(params).promise().then((res) => {
console.log(res);
}).catch(error => {
console.log(error)
});
Upvotes: 2