Files
myeasycms-v2/packages/mailers/CLAUDE.md
Giancarlo Buomprisco 533dfba5b9 Optimized agents rules subfolders, dependencies updates (#355)
* Update AGENTS.md and CLAUDE.md for improved clarity and structure
* Added MCP Server
* Added missing triggers to tables that should have used them
* Updated all dependencies
* Fixed rare bug in React present in the Admin layout which prevents navigating to pages (sometimes...)
2025-09-17 11:36:02 +08:00

1.4 KiB

Email Service Instructions

This file contains guidance for working with the email service supporting Resend and Nodemailer.

Basic Usage

import { getMailer } from '@kit/mailers';
import { renderAccountDeleteEmail } from '@kit/email-templates';

async function sendSimpleEmail() {
    // Get mailer instance
  const mailer = await getMailer();

  // Send simple email
  await mailer.sendEmail({
    to: 'user@example.com',
    from: 'noreply@yourdomain.com', 
    subject: 'Welcome!',
    html: '<h1>Welcome!</h1><p>Thank you for joining us.</p>',
  });
}

async function sendComplexEmail() {
  // Send with email template
  const { html, subject } = await renderAccountDeleteEmail({
    userDisplayName: user.name,
    productName: 'My SaaS App',
  });

  await mailer.sendEmail({
    to: user.email,
    from: 'noreply@yourdomain.com',
    subject,
    html,
  });
}

Email Templates

Email templates are located in @kit/email-templates and return { html, subject }:

import { 
  renderAccountDeleteEmail,
  renderWelcomeEmail,
  renderPasswordResetEmail 
} from '@kit/email-templates';

// Render template
const { html, subject } = await renderWelcomeEmail({
  userDisplayName: 'John Doe',
  loginUrl: 'https://app.com/login'
});

// Send rendered email
const mailer = await getMailer();

await mailer.sendEmail({
  to: user.email,
  from: 'welcome@yourdomain.com',
  subject,
  html,
});