Files
mikayla-dobson-dev/server/services/sendgrid.ts
2023-10-02 18:39:46 -05:00

29 lines
753 B
TypeScript

import mailer, { ClientResponse, MailDataRequired, MailService } from "@sendgrid/mail";
export class Mailer {
private mailer: MailService;
constructor() {
const service = mailer;
const key = process.env.SENDGRID_API_KEY;
if (!key) throw new Error("No SendGrid API key provided");
service.setApiKey(key);
this.mailer = service;
}
public async send(from: string, text: string, name: string) {
const data: MailDataRequired = {
text, from,
cc: from,
to: 'hello@mikayla.dev',
subject: `Contact form submission from ${name}`
}
const result = await this.mailer.send(data);
return result[0] as ClientResponse;
}
}