createMailProvider (mail-providers/nodemailer.ts)

freeCodeCamp · api/src/plugins/mail-providers/nodemailer.ts · typescript · BSD-3-Clause
email, tag:knn-classified

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