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