Files
open-gsio/workers/email/email_worker.js
geoffsee 33679583af init
2025-05-22 23:14:01 -04:00

42 lines
1.1 KiB
JavaScript

import { WorkerEntrypoint } from "cloudflare:workers";
import { createMimeMessage } from "mimetext";
import { EmailMessage } from "cloudflare:email";
export default class EmailWorker extends WorkerEntrypoint {
async fetch(req, env, ctx) {
return new Response(undefined, { status: 200 });
}
async sendMail({
plaintextMessage = `You must have wondered where I've been.`,
to,
}) {
const msg = createMimeMessage();
msg.setSender({
name: "New Website Contact",
addr: "contact@seemueller.io",
});
console.log("Recipient:", to);
// msg.setRecipient(to);
msg.setRecipient(to);
msg.setSubject("New Contact Request: Website");
msg.addMessage({
contentType: "text/plain",
data: plaintextMessage,
});
try {
const message = new EmailMessage(
"contact@seemueller.io",
"geoff@seemueller.io",
msg.asRaw(),
);
await this.env.SEB.send(message);
} catch (e) {
return new Response(e.message, { status: 500 });
}
return new Response("Message Sent");
}
}