Set Up AWS SDK for Node.js
- To begin using Amazon SES (Simple Email Service) with Node.js, you'll need to install the AWS SDK for JavaScript in Node.js. This library empowers you to interact with AWS services programmatically.
- Run the following command in your project directory:
npm install aws-sdk
Configure AWS SDK
- After installing the AWS SDK, you need to configure it with your AWS credentials and the region where your SES is hosted. Ensure that you replace `YOUR_ACCESS_KEY_ID`, `YOUR_SECRET_ACCESS_KEY`, and `YOUR_REGION` with your actual AWS credentials.
const AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: 'YOUR_ACCESS_KEY_ID',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
Create an SES Service Object
- Create an instance of the SES service object, which you will use to send emails. This object provides methods to interact with the SES API.
const ses = new AWS.SES({ apiVersion: '2010-12-01' });
Set Up the Email Parameters
- Define the parameters for your email, including the source email address, destination addresses, subject, and body content. Here’s an example of how to set up a simple email with HTML content:
const emailParams = {
Source: 'your-email@example.com',
Destination: {
ToAddresses: ['recipient@example.com']
},
Message: {
Subject: {
Data: 'Test Email',
},
Body: {
Html: {
Data: '<h1>Hello from Amazon SES</h1><p>This is a test email sent using Amazon SES</p>'
}
}
}
};
Send the Email
- Use the `sendEmail` method of the SES object to send your email. Handle the response to determine if the email was sent successfully or if there were any errors.
ses.sendEmail(emailParams, (err, data) => {
if (err) {
console.error("Error sending email:", err);
} else {
console.log("Email sent successfully:", data);
}
});
Additional Notes
- Amazon SES requires email addresses or domains to be verified if you are operating in the SES sandbox environment. Make sure you have completed necessary verifications before sending emails.
- Ensure that you have the correct IAM role permissions to use the SES service in your AWS account.
- If you need to send emails to multiple recipients, you can add them to the `ToAddresses`, `CcAddresses`, or `BccAddresses` lists in the `Destination` object.
- For production use, consider handling email errors like rate limits, invalid email formats, and managing bounce notifications using Amazon SNS (Simple Notification Service).