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:
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-HEREwith your actual Mailtrap API token in thetoken:fieldReplace
YOUR-EMAIL-HEREwith your verified sender emailReplace
RECIPIENT-EMAIL-HEREwith 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?

