@meridianjs/email-ses
v1.0.1
Published
AWS SES email provider module for Meridian
Readme
@meridianjs/email-ses
AWS SES email provider for MeridianJS. Registers an emailService in the DI container using the AWS SDK v3.
Installation
npm install @meridianjs/email-sesConfiguration
// meridian.config.ts
export default defineConfig({
modules: [
{
resolve: "@meridianjs/email-ses",
options: {
fromAddress: process.env.EMAIL_FROM ?? "[email protected]",
region: process.env.AWS_SES_REGION ?? "us-east-1",
accessKeyId: process.env.AWS_SES_ACCESS_KEY_ID ?? "",
secretAccessKey: process.env.AWS_SES_SECRET_ACCESS_KEY ?? "",
},
},
],
})Add to your .env:
[email protected]
AWS_SES_REGION=us-east-1
AWS_SES_ACCESS_KEY_ID=AKIA...
AWS_SES_SECRET_ACCESS_KEY=...If running on an EC2 instance or ECS task with an IAM role attached, you can omit accessKeyId and secretAccessKey — the SDK will use the instance profile credentials automatically.
Usage
import type { IEmailService } from "@meridianjs/types"
const emailSvc = container.resolve("emailService") as IEmailService
await emailSvc.send({
to: "[email protected]",
subject: "Welcome to Acme Corp",
html: "<p>You've been invited to join <strong>Acme Corp</strong>.</p>",
text: "You've been invited to join Acme Corp.",
})Notes
- Only one email provider should be registered at a time.
- The
fromAddressmust be verified in AWS SES. In sandbox mode,toaddresses must also be verified.
License
MIT
