Send Email Single Recipient
One script reply has been approved by the moderators Verified
Created by rossrekrutkin 1369 days ago Picked 21 times
Submitted by adam186 Deno
Verified 304 days ago
1
import sendgrid from "npm:@sendgrid/mail@^7.7.0";
2

3
/**
4
 * @param is_message_html If `true` then the message will be sent and parsed as HTML,
5
 * otherwise it will be sent as plain text.
6
 */
7
type Sendgrid = {
8
  token: string;
9
};
10
export async function main(
11
  api_token: Sendgrid,
12
  from: string,
13
  to: string,
14
  subject: string,
15
  message: string,
16
  is_message_html: boolean,
17
) {
18
  sendgrid.setApiKey(api_token.token);
19
  const messageObject: Record<string, string> = { to, from, subject };
20
  messageObject[is_message_html ? "html" : "text"] = message;
21

22
  try {
23
    return await sendgrid.send(messageObject);
24
  } catch (error) {
25
    throw Error("\n" + JSON.stringify(error?.response?.body || error));
26
  }
27
}
28