> Email Service Patterns
Transactional email patterns: templates, queuing, delivery tracking, and provider abstraction.
fetch
$
curl "https://skillshub.wtf/skillshub-team/catalog-batch5/email-service-patterns?format=md"SKILL.md•Email Service Patterns
Email Service Patterns
Provider Abstraction
interface EmailProvider {
send(opts: { to: string; subject: string; html: string; from?: string }): Promise<void>;
}
class SendGridProvider implements EmailProvider {
async send(opts) { await sgMail.send({ ...opts, from: opts.from || DEFAULT_FROM }); }
}
class ResendProvider implements EmailProvider {
async send(opts) { await resend.emails.send(opts); }
}
Template Engine
const templates = {
welcome: (name: string) => ({ subject: 'Welcome!', html: `<h1>Hi ${name}</h1>` }),
resetPassword: (link: string) => ({ subject: 'Reset Password', html: `<a href="${link}">Reset</a>` }),
};
Queue emails for reliability (Bull/BullMQ)
Track: delivered, opened, clicked, bounced via webhooks
Rate limiting, retry with exponential backoff
> related_skills --same-repo
> Nix Dev Shells with direnv
Auto-activate reproducible dev environments with Nix flakes and direnv.
> Dagger with GitHub Actions
Run Dagger CI/CD pipelines in GitHub Actions for portable, testable builds.
> Bun + Hono API
Build fast APIs with Bun runtime and Hono framework.
> Deno Fresh Framework
Build full-stack web apps with Fresh on Deno. Islands, routes, and zero runtime overhead.
┌ stats
installs/wk0
░░░░░░░░░░first seenMar 18, 2026
└────────────