Mailtrap Astro integration

Find out how to send emails in Astro with Mailtrap.

Before we start, you’ll need to:

Send emails using Astro and Mailtrap

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

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,
        });
      }
    },
  }),
};

Once you copy the script, make sure to insert your Mailtrap API token in the token:   field and enter your and your recipient's emails in the from:    and to:   fields.

Note: To learn more about API integration, click here.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us