Skip to main content
Use a secret key client for all email methods.
import Mailrify from 'mailrify';

const client = new Mailrify(process.env.MAILRIFY_SECRET_KEY as string);

Send with basic HTML

const result = await client.emails.send({
  to: '[email protected]',
  from: {
    name: 'Mailrify Demo',
    email: '[email protected]'
  },
  subject: 'Welcome',
  body: '<h1>Hello</h1><p>Your SDK setup is working.</p>'
});

console.log(result.success, result.data.timestamp);

Send to multiple recipients

to supports strings, recipient objects, or both:
await client.emails.send({
  to: [
    '[email protected]',
    { name: 'Two', email: '[email protected]' }
  ],
  from: '[email protected]',
  subject: 'Product update',
  body: '<p>New features are live.</p>'
});

Send with template and data

await client.emails.send({
  to: '[email protected]',
  from: '[email protected]',
  template: 'tmpl_123',
  data: {
    firstName: 'John',
    plan: 'premium'
  }
});

Send with attachments

Attachment content should be Base64-encoded:
await client.emails.send({
  to: '[email protected]',
  from: '[email protected]',
  subject: 'Your invoice',
  body: '<p>Invoice attached.</p>',
  attachments: [
    {
      filename: 'invoice.pdf',
      content: 'JVBERi0xLjQKJ...',
      contentType: 'application/pdf'
    }
  ]
});

Send with advanced options

await client.emails.send({
  to: '[email protected]',
  from: { name: 'Growth Team', email: '[email protected]' },
  subject: 'Release notes',
  body: '<p>Monthly update.</p>',
  reply: '[email protected]',
  name: 'Monthly newsletter',
  subscribed: true,
  headers: {
    'X-Campaign-Id': 'monthly-2026-03'
  }
});

Verify an email address

const verification = await client.emails.verify('[email protected]');

console.log(verification.data.valid);
console.log(verification.data.isRandomInput);
console.log(verification.data.reasons);

Handle typo suggestions

const verification = await client.emails.verify('[email protected]');

if (verification.data.isTypo && verification.data.suggestedEmail) {
  console.log('Did you mean:', verification.data.suggestedEmail);
}
See full endpoint details in the Emails API reference.