From 9bcea0fa011e1fd6cc39cbc4cb820a6fe5750958 Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Thu, 20 Mar 2025 22:46:12 +0530 Subject: [PATCH] replyTo includes the correct email (#20235) Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com> --- .../attendee-daily-video-download-recording-email.ts | 7 ++++++- .../attendee-daily-video-download-transcript-email.ts | 7 ++++++- packages/emails/templates/attendee-request-email.ts | 7 ++++++- packages/emails/templates/attendee-rescheduled-email.ts | 7 ++++++- packages/emails/templates/attendee-scheduled-email.ts | 7 ++++++- packages/emails/templates/attendee-updated-email.ts | 7 ++++++- packages/emails/templates/organizer-add-guests-email.ts | 2 +- .../organizer-daily-video-download-recording-email.ts | 2 +- .../organizer-daily-video-download-transcript-email.ts | 2 +- .../emails/templates/organizer-location-change-email.ts | 2 +- packages/emails/templates/organizer-request-email.ts | 2 +- .../emails/templates/organizer-request-reminder-email.ts | 2 +- packages/emails/templates/organizer-rescheduled-email.ts | 2 +- packages/emails/templates/organizer-scheduled-email.ts | 2 +- 14 files changed, 44 insertions(+), 14 deletions(-) diff --git a/packages/emails/templates/attendee-daily-video-download-recording-email.ts b/packages/emails/templates/attendee-daily-video-download-recording-email.ts index 76cfaff690..f89819dde6 100644 --- a/packages/emails/templates/attendee-daily-video-download-recording-email.ts +++ b/packages/emails/templates/attendee-daily-video-download-recording-email.ts @@ -25,7 +25,12 @@ export default class AttendeeDailyVideoDownloadRecordingEmail extends BaseEmail return { to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.t("download_recording_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/attendee-daily-video-download-transcript-email.ts b/packages/emails/templates/attendee-daily-video-download-transcript-email.ts index a063e212f8..4fc2404934 100644 --- a/packages/emails/templates/attendee-daily-video-download-transcript-email.ts +++ b/packages/emails/templates/attendee-daily-video-download-transcript-email.ts @@ -36,7 +36,12 @@ export default class AttendeeDailyVideoDownloadTranscriptEmail extends BaseEmail return { to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.t("download_transcript_email_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/attendee-request-email.ts b/packages/emails/templates/attendee-request-email.ts index c58b3d1491..70df950a3e 100644 --- a/packages/emails/templates/attendee-request-email.ts +++ b/packages/emails/templates/attendee-request-email.ts @@ -11,7 +11,12 @@ export default class AttendeeRequestEmail extends AttendeeScheduledEmail { return { from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.calEvent.attendees[0].language.translate("booking_submitted_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/attendee-rescheduled-email.ts b/packages/emails/templates/attendee-rescheduled-email.ts index 33e79c7fb0..c6c2d84a18 100644 --- a/packages/emails/templates/attendee-rescheduled-email.ts +++ b/packages/emails/templates/attendee-rescheduled-email.ts @@ -14,7 +14,12 @@ export default class AttendeeRescheduledEmail extends AttendeeScheduledEmail { }), to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.attendee.language.translate("event_type_has_been_rescheduled_on_time_date", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/attendee-scheduled-email.ts b/packages/emails/templates/attendee-scheduled-email.ts index 5564c31540..907cb1242c 100644 --- a/packages/emails/templates/attendee-scheduled-email.ts +++ b/packages/emails/templates/attendee-scheduled-email.ts @@ -40,7 +40,12 @@ export default class AttendeeScheduledEmail extends BaseEmail { }), to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.calEvent.title}`, html: await this.getHtml(clonedCalEvent, this.attendee), text: this.getTextBody(), diff --git a/packages/emails/templates/attendee-updated-email.ts b/packages/emails/templates/attendee-updated-email.ts index 5d4fa9c39b..42e98121a3 100644 --- a/packages/emails/templates/attendee-updated-email.ts +++ b/packages/emails/templates/attendee-updated-email.ts @@ -14,7 +14,12 @@ export default class AttendeeUpdatedEmail extends AttendeeScheduledEmail { }), to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [ + ...this.calEvent.attendees + .filter(({ email }) => email !== this.attendee.email) + .map(({ email }) => email), + this.calEvent.organizer.email, + ], subject: `${this.attendee.language.translate("event_type_has_been_updated", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/organizer-add-guests-email.ts b/packages/emails/templates/organizer-add-guests-email.ts index 5ea3b51c78..d88008b49c 100644 --- a/packages/emails/templates/organizer-add-guests-email.ts +++ b/packages/emails/templates/organizer-add-guests-email.ts @@ -16,7 +16,7 @@ export default class OrganizerAddGuestsEmail extends OrganizerScheduledEmail { }), from: `${APP_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("guests_added_event_type_subject", { eventType: this.calEvent.type, name: this.calEvent.attendees[0].name, diff --git a/packages/emails/templates/organizer-daily-video-download-recording-email.ts b/packages/emails/templates/organizer-daily-video-download-recording-email.ts index 6aeba56175..ff80acf5c1 100644 --- a/packages/emails/templates/organizer-daily-video-download-recording-email.ts +++ b/packages/emails/templates/organizer-daily-video-download-recording-email.ts @@ -23,7 +23,7 @@ export default class OrganizerDailyVideoDownloadRecordingEmail extends BaseEmail return { to: `${this.calEvent.organizer.email}>`, from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("download_recording_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/organizer-daily-video-download-transcript-email.ts b/packages/emails/templates/organizer-daily-video-download-transcript-email.ts index 7a41a35c58..763387306e 100644 --- a/packages/emails/templates/organizer-daily-video-download-transcript-email.ts +++ b/packages/emails/templates/organizer-daily-video-download-transcript-email.ts @@ -35,7 +35,7 @@ export default class OrganizerDailyVideoDownloadTranscriptEmail extends BaseEmai return { to: `${this.calEvent.organizer.email}>`, from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, - replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("download_transcript_email_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/organizer-location-change-email.ts b/packages/emails/templates/organizer-location-change-email.ts index 13709a66ee..b0c4261901 100644 --- a/packages/emails/templates/organizer-location-change-email.ts +++ b/packages/emails/templates/organizer-location-change-email.ts @@ -16,7 +16,7 @@ export default class OrganizerLocationChangeEmail extends OrganizerScheduledEmai }), from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("location_changed_event_type_subject", { eventType: this.calEvent.type, name: this.calEvent.attendees[0].name, diff --git a/packages/emails/templates/organizer-request-email.ts b/packages/emails/templates/organizer-request-email.ts index 02e1c08c35..f21de000d0 100644 --- a/packages/emails/templates/organizer-request-email.ts +++ b/packages/emails/templates/organizer-request-email.ts @@ -21,7 +21,7 @@ export default class OrganizerRequestEmail extends OrganizerScheduledEmail { return { from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("awaiting_approval")}: ${this.calEvent.title}`, html: await this.getHtmlRequestEmail(template, this.calEvent, this.calEvent.organizer), text: this.getTextBody("event_awaiting_approval"), diff --git a/packages/emails/templates/organizer-request-reminder-email.ts b/packages/emails/templates/organizer-request-reminder-email.ts index 8b28d49bba..fd08080a3a 100644 --- a/packages/emails/templates/organizer-request-reminder-email.ts +++ b/packages/emails/templates/organizer-request-reminder-email.ts @@ -10,7 +10,7 @@ export default class OrganizerRequestReminderEmail extends OrganizerRequestEmail return { from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.t("event_awaiting_approval_subject", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/organizer-rescheduled-email.ts b/packages/emails/templates/organizer-rescheduled-email.ts index d20e491a88..0a7678a7ef 100644 --- a/packages/emails/templates/organizer-rescheduled-email.ts +++ b/packages/emails/templates/organizer-rescheduled-email.ts @@ -17,7 +17,7 @@ export default class OrganizerRescheduledEmail extends OrganizerScheduledEmail { }), from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.calEvent.organizer.language.translate("event_type_has_been_rescheduled_on_time_date", { title: this.calEvent.title, date: this.getFormattedDate(), diff --git a/packages/emails/templates/organizer-scheduled-email.ts b/packages/emails/templates/organizer-scheduled-email.ts index a5649ae82f..4c62a4219f 100644 --- a/packages/emails/templates/organizer-scheduled-email.ts +++ b/packages/emails/templates/organizer-scheduled-email.ts @@ -50,7 +50,7 @@ export default class OrganizerScheduledEmail extends BaseEmail { }), from: `${EMAIL_FROM_NAME} <${this.getMailerOptions().from}>`, to: toAddresses.join(","), - replyTo: [this.calEvent.organizer.email, ...this.calEvent.attendees.map(({ email }) => email)], + replyTo: [...this.calEvent.attendees.map(({ email }) => email)], subject: `${this.newSeat ? `${this.t("new_attendee")}: ` : ""}${this.calEvent.title}`, html: await this.getHtml( clonedCalEvent,