Package Exports
- emailmate
- emailmate/convex
Readme
emailmate
Email API that doesn't eat your margins.
New here? Simple SDK. React Email baked in.
Coming from Resend? One line change. No refactor.
Install
npm install emailmateQuick Start
import { EmailMate } from 'emailmate';
const em = new EmailMate('em_xxxxxxxxxxxx');
await em.emails.send({
from: 'you@yourapp.com',
to: 'user@example.com',
subject: 'Welcome',
html: '<h1>You're in.</h1>'
});With React Email
import { EmailMate } from 'emailmate';
import { WelcomeEmail } from './emails/welcome';
await em.emails.send({
from: 'you@yourapp.com',
to: 'user@example.com',
subject: 'Welcome',
react: <WelcomeEmail name="John" />
});Coming from Resend?
One line. That's it.
// Before
import { Resend } from 'resend';
// After
import { Resend } from 'emailmate';
// Your code? Untouched. Same API. Same types. Same everything.
const resend = new Resend('em_xxxxxxxxxxxx');
await resend.emails.send({ ... });API
// Send email
await em.emails.send({ from, to, subject, html });
// Get email
const email = await em.emails.get('em_xxxx');
// Cancel scheduled email
await em.emails.cancel('em_xxxx');
// Domains
await em.domains.create({ name: 'example.com' });
await em.domains.list();
await em.domains.verify('dom_xxxx');
// Audiences & Contacts
await em.audiences.create({ name: 'Newsletter' });
await em.contacts.create('aud_xxxx', { email: 'user@example.com' });
// API Keys
await em.apiKeys.create({ name: 'Production' });
await em.apiKeys.list();BYOS (Bring Your Own SES)
Your AWS account. Pay AWS directly.
const em = new EmailMate('em_xxxx', {
baseUrl: 'https://your-domain.com/api'
});Links
License
MIT