Skip to content

Instantly share code, notes, and snippets.

@longseespace
Created September 22, 2022 05:28
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save longseespace/62e3a3771db4ca1797fded762bf19aa0 to your computer and use it in GitHub Desktop.
Save longseespace/62e3a3771db4ca1797fded762bf19aa0 to your computer and use it in GitHub Desktop.
Send bulk email to users using MailerSend
const Recipient = require('mailersend').Recipient;
const EmailParams = require('mailersend').EmailParams;
const BulkEmails = require('mailersend').BulkEmails;
const MailerSend = require('mailersend');
const users = require('./users');
const MAILERSEND_API_KEY = process.env.MAILERSEND_API_KEY;
if (!MAILERSEND_API_KEY) {
console.error('MAILERSEND_API_KEY is required');
process.exit(1);
}
const subject = '[Action Required] Update your approved email address at amazon.com';
const templateId = 'your-unique-mailersend-template-id';
const fromEmail = 'daniel@ktool.io';
const fromName = 'Daniel from KTool';
const mailersend = new MailerSend({
api_key: MAILERSEND_API_KEY,
});
const bulkEmails = new BulkEmails();
users.forEach((user) => {
const email = user.email;
const name = user.name || 'there';
const recipients = [new Recipient(email, name)];
const personalization = [
{
email,
data: {
name,
},
},
];
const emailParams = new EmailParams()
.setFrom(fromEmail)
.setFromName(fromName)
.setRecipients(recipients)
.setSubject(subject)
.setTemplateId(templateId)
.setPersonalization(personalization);
bulkEmails.addEmail(emailParams);
});
mailersend
.sendBulk(bulkEmails)
.then((response) => response.json())
.then((data) => {
console.log(data);
mailersend
.getBulkEmailRequestStatus(data)
.then((response) => response.json())
.then((data) => console.log(data));
});
module.exports = [
{ email: 'steve@apple.com', name: 'Steve Jobs' },
{ email: 'daniel@podzim.co', name: 'Daniel Nguyen' },
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment