Astro

Overview

This guide explains how to integrate Mailtrap with your Astro project to send emails programmatically using the Mailtrap Email API.

Prerequisites

Before you start, make sure you have:

Send emails using Astro and Mailtrap

To integrate Mailtrap and send emails via Astro, copy and paste the following script into your configuration:

astro-mailtrap-integration.js
import { ActionError, defineAction } from "astro:actions";
import { MailtrapClient } from "mailtrap";

const mailtrap = new MailtrapClient({ token: 'YOUR-MAILTRAP-API-KEY-HERE' });

export const server = {
  send: defineAction({
    accept: "form",
    handler: async () => {
      try {
        const response = await mailtrap.send({
          from: { name: 'Mailtrap Test', email: 'YOUR-EMAIL-HERE' },
          to: [{ email: 'RECIPIENT-EMAIL-HERE' }],
          subject: 'Hello World',
          html: '<strong>it works!</strong>',
        });

        console.log(response);

        return response;
      } catch (error) {
        const message = error instanceof Error ? error.message : 'Unknown error';
        console.log(message);

        throw new ActionError({
          code: "BAD_REQUEST",
          message,
        });
      }
    },
  }),
};

Configuration

Once you copy the script, update the following fields with your information:

  • Replace YOUR-MAILTRAP-API-KEY-HERE with your actual Mailtrap API token in the token: field

  • Replace YOUR-EMAIL-HERE with your verified sender email

  • Replace RECIPIENT-EMAIL-HERE with the recipient's email address

Learn more

For additional details about the Email API, refer to the Mailtrap Email Sending API Integration guide.

Last updated

Was this helpful?