Files
myeasycms-v2/packages/mailers
giancarlo 5ed3b18a00 Refactor admin account page and email resend logic
The changes include breaking out `is_personal_account` into its own constant for better readability in the Admin Account page. On the email resend logic, the code has been simplified, directly throwing an error when the response is not OK, thereby eliminating unnecessary conditional and assignment statements.
2024-04-18 20:21:21 +08:00
..
2024-04-17 18:42:00 +08:00
2024-03-24 02:23:22 +08:00

Mailers - @kit/mailers

This package is responsible for sending emails using a unified interface across the app.

The default mailer uses the nodemailer package to send emails. You can create custom mailers by extending the Mailer class.

Make sure the app installs the @kit/mailers package before using it.

{
    "name": "my-app",
    "dependencies": {
        "@kit/mailers": "*"
    }
}

Usage

By default, the package uses nodemailer.

To use Cloudflare, please set the environment variable MAILER_PROVIDER to cloudflare.

MAILER_PROVIDER=cloudflare

To use Resend's HTTP API, please set the environment variable MAILER_PROVIDER to resend.

MAILER_PROVIDER=resend

Send an email

import { getMailer } from '@kit/mailers';

async function sendEmail() {
  const mailer = await getMailer();

  return mailer.sendEmail({
    to: '',
    from: '',
    subject: 'Hello',
    text: 'Hello, World!'
  });
}

Cloudflare

If you're using the cloudflare provider, please also read the instructions of the package Vercel Email to setup your Workers.

Resend

If you're using the resend provider, please add the following environment variables:

RESEND_API_KEY=your-api-key