import sendgrid from "@sendgrid/mail@^7.7.0";
/**
* @param is_message_html If `true` then the message will be sent and parsed as HTML,
* otherwise it will be sent as plain text.
*/
type Sendgrid = {
token: string;
};
export async function main(
api_token: Sendgrid,
from: string,
to: string,
subject: string,
message: string,
is_message_html: boolean,
) {
sendgrid.setApiKey(api_token.token);
const messageObject: Record<string, string> = { to, from, subject };
messageObject[is_message_html ? "html" : "text"] = message;
try {
return await sendgrid.send(messageObject);
} catch (error) {
throw Error("\n" + JSON.stringify(error?.response?.body || error));
}
}
Submitted by hugo989 3 days ago