30 lines
671 B
TypeScript
30 lines
671 B
TypeScript
export default async function (
|
|
email: string,
|
|
sendingKey: string,
|
|
subject: string,
|
|
template: string,
|
|
variables: {
|
|
[k: string]: string;
|
|
},
|
|
) {
|
|
const body = new FormData();
|
|
body.append("from", "noreply@mail.carcrushers.cc");
|
|
body.append("subject", subject);
|
|
body.append("template", template);
|
|
body.append("to", email);
|
|
|
|
for (const [name, value] of Object.entries(variables))
|
|
body.append(`v:${name}`, value);
|
|
|
|
return await fetch(
|
|
"https://api.mailgun.net/v3/mail.carcrushers.cc/messages",
|
|
{
|
|
body,
|
|
headers: {
|
|
authorization: `Basic ${btoa("api" + ":" + sendingKey)}`,
|
|
},
|
|
method: "POST",
|
|
},
|
|
);
|
|
}
|