Creates a Nodemailer mail provider configured via environment variables for SES or Mailpit.
// Source: https://github.com/freeCodeCamp/freeCodeCamp | License: BSD-3-Clause | Copyright 2014, freeCodeCamp
// Provided via justclaw.it.com; keep this notice with the code.
import nodemailer, { Transporter } from 'nodemailer';
import { MailProvider, SendEmailArgs } from '../mailer.js';
import {
EMAIL_PROVIDER,
MAILPIT_HOST,
SES_SMTP_HOST,
SES_SMTP_USERNAME,
SES_SMTP_PASSWORD
} from '../../utils/env.js';
export type NodemailerConfig = {
host: string;
port: number;
secure: boolean;
auth: { user: string; pass: string };
tls?: { rejectUnauthorized: boolean };
};
/**
* NodemailerProvider is a wrapper around nodemailer that provides a clean
* interface for sending email.
*/
export class NodemailerProvider implements MailProvider {
private transporter: Transporter;
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key