summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/email.ts11
-rw-r--r--src/routes/event.ts9
-rw-r--r--src/routes/group.ts1
-rw-r--r--src/routes/magicLink.ts1
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",
{