import Mailgun from "https://deno.land/x/mailgun@v1.1.1/index.ts"; import { type Message } from "https://deno.land/x/mailgun@v1.1.1/types.ts"; import * as log from "$std/log/mod.ts"; export type Email = Message; const MAILGUN_API_KEY = Deno.env.get("MAILGUN_API_KEY"); const MAILGUN_DOMAIN = Deno.env.get("MAILGUN_DOMAIN"); if (!MAILGUN_API_KEY) { log.error( "MAILGUN_API_KEY not set. Emails will not be sent, only logged to the console.", ); } if (!MAILGUN_DOMAIN) { console.error( "MAILGUN_API_KEY not set. Emails will not be sent, only logged to the console.", ); } const mailgun = new Mailgun({ key: "YOUR_API_KEY", region: "us", domain: "YOUR_DOMAIN", }); export async function send(email: Email) { console.debug("Email:", email); if (MAILGUN_API_KEY && MAILGUN_DOMAIN) { return await mailgun.send(email); } else { return new Response( "Email client is not properly configured. Email not sent.", { status: 401, }, ); } }