diff options
| author | Kasanwa Solane Aster Hope (Cassandra de la Cruz-Munoz) <kasanwa@kasanwa.name> | 2025-01-02 20:11:22 -0500 | 
|---|---|---|
| committer | Raphael Kabo <raphaelkabo@hey.com> | 2025-01-12 10:54:45 +0000 | 
| commit | e31cee98fcf5db41ba83fd9254ef32148cd4e5bb (patch) | |
| tree | e218fe8dcceac4e5d90c916475e1937ef0987b44 | |
| parent | 2d7507a4fde247ea3e67c2d49df157abd60d6599 (diff) | |
change to BCC for group emailing
Signed-off-by: Raphael Kabo <raphaelkabo@hey.com>
| -rw-r--r-- | src/lib/email.ts | 11 | ||||
| -rw-r--r-- | src/routes/event.ts | 9 | ||||
| -rw-r--r-- | src/routes/group.ts | 1 | ||||
| -rw-r--r-- | src/routes/magicLink.ts | 1 | 
4 files changed, 21 insertions, 1 deletions
diff --git a/src/lib/email.ts b/src/lib/email.ts index 40b5200..82dd48e 100644 --- a/src/lib/email.ts +++ b/src/lib/email.ts @@ -83,6 +83,7 @@ export const initEmailService = async (): Promise<boolean> => {  export const sendEmail = async (      to: string, +    bcc: string,      subject: string,      text: string,      html?: string, @@ -92,6 +93,7 @@ export const sendEmail = async (              try {                  await sgMail.send({                      to, +                    bcc,                      from: config.general.email,                      subject: `${config.general.site_name}: ${subject}`,                      text, @@ -123,8 +125,14 @@ export const sendEmail = async (                  const nodemailerTransporter =                      nodemailer.createTransport(nodemailerConfig);                  await nodemailerTransporter.sendMail({ +                    envelope: { +                        from: config.general.email, +                        to, +                        bcc, +                    },                      from: config.general.email,                      to, +                    bcc,                      subject,                      text,                      html, @@ -141,6 +149,7 @@ export const sendEmail = async (  export const sendEmailFromTemplate = async (      to: string, +    bcc: string,      subject: string,      template: EmailTemplate,      templateData: Record<string, unknown>, @@ -159,5 +168,5 @@ export const sendEmailFromTemplate = async (          `${template}/${template}Text`,          templateData,      ); -    return await sendEmail(to, subject, text, html); +    return await sendEmail(to, bcc, subject, text, html);  }; diff --git a/src/routes/event.ts b/src/routes/event.ts index 1b79f12..de5cb4c 100644 --- a/src/routes/event.ts +++ b/src/routes/event.ts @@ -27,6 +27,9 @@ import crypto from "crypto";  import ical from "ical";  import { markdownToSanitizedHTML } from "../util/markdown.js";  import { checkMagicLink, getConfigMiddleware } from "../lib/middleware.js"; +import { getConfig } from "../lib/config.js"; +const config = getConfig(); +  const storage = multer.memoryStorage();  // Accept only JPEG, GIF or PNG images, up to 10MB @@ -193,6 +196,7 @@ router.post(              if (eventData.creatorEmail && req.app.locals.sendEmails) {                  sendEmailFromTemplate(                      eventData.creatorEmail, +                    "",                      `${eventData.eventName}`,                      "createEvent",                      { @@ -229,6 +233,7 @@ router.post(                      subscribers?.forEach((emailAddress) => {                          sendEmailFromTemplate(                              emailAddress, +                            "",                              `New event in ${eventGroup.name}`,                              "eventGroupUpdated",                              { @@ -493,6 +498,7 @@ router.put(                      .map((o) => o.email);                  if (attendeeEmails?.length) {                      sendEmailFromTemplate( +                        config.general.email,                          attendeeEmails.join(","),                          `${event.name} was just edited`,                          "editEvent", @@ -608,6 +614,7 @@ router.post(              if (creatorEmail && req.app.locals.sendEmails) {                  sendEmailFromTemplate(                      creatorEmail, +                    "",                      `${importedEventData.summary}`,                      "createEvent",                      { @@ -688,6 +695,7 @@ router.delete(              if (attendeeEmail && req.app.locals.sendEmails) {                  await sendEmailFromTemplate(                      attendeeEmail, +                    "",                      "You have been removed from an event",                      "unattendEvent",                      { @@ -739,6 +747,7 @@ router.get(          if (req.app.locals.sendEmails && attendee.email) {              sendEmailFromTemplate(                  attendee.email, +                "",                  `You have been removed from ${event.name}`,                  "unattendEvent",                  { diff --git a/src/routes/group.ts b/src/routes/group.ts index 1bbf501..9f4105c 100644 --- a/src/routes/group.ts +++ b/src/routes/group.ts @@ -95,6 +95,7 @@ router.post(              if (groupData.creatorEmail && req.app.locals.sendEmails) {                  sendEmailFromTemplate(                      groupData.creatorEmail, +                    "",                      `${eventGroup.name}`,                      "createEventGroup",                      { diff --git a/src/routes/magicLink.ts b/src/routes/magicLink.ts index 499d0a4..b4afca6 100644 --- a/src/routes/magicLink.ts +++ b/src/routes/magicLink.ts @@ -50,6 +50,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => {      sendEmailFromTemplate(          email, +        "",          `Magic link to create an event`,          "createEventMagicLink",          {  | 
