digri-email-sender
Version:
Lightweight utility to send HTML emails using AWS SES, with optional tenant tracking and configuration set support.
31 lines (30 loc) • 947 B
JavaScript
import { SESClient, SendRawEmailCommand } from "@aws-sdk/client-ses";
export async function sendDigriMail(user, aws) {
const { fromEmail, toEmail, message, subject, tenantId } = user;
const client = new SESClient({
region: aws.REGION,
credentials: {
accessKeyId: aws.ACCESS_KEY_ID,
secretAccessKey: aws.SECRET_ACCESS_KEY,
},
});
const rawMessage = [
`From: ${fromEmail}`,
`To: ${toEmail}`,
`Subject: ${subject}`,
`MIME-Version: 1.0`,
`Content-Type: text/html; charset=UTF-8`,
tenantId ? `X-Tenant-ID: ${tenantId}` : null,
`X-SES-Configuration-Set: ses-email-event-config`,
``,
message,
]
.filter(Boolean)
.join('\r\n');
const command = new SendRawEmailCommand({
RawMessage: {
Data: Buffer.from(rawMessage),
},
});
return await client.send(command);
}