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.