Fixes an issue where cancellation emails were sending ICS files with METHOD:REQUEST instead of METHOD:CANCEL. As per RFC 5546, calendar clients only process cancellations correctly when METHOD:CANCEL is used, otherwise cancelled events remain in attendee calendars with active reminders. - Use METHOD:CANCEL for cancelled booking ICS files - Keep METHOD:REQUEST for non-cancelled booking invitations - Preserve STATUS:CANCELLED and sequence handling - Add tests to verify the generated ICS method for cancellations
JSX email templates
componentsHolds reusable patternstemplatesA template equals a type of email sent
Usage
import renderEmail from "@calcom/emails/renderEmail";
await renderEmail("TeamInviteEmail", {
language: t,
from: "teampro@example.com",
to: "pro@example.com",
teamName: "Team Pro",
joinLink: "https://cal.com",
});
The first argument is the template name as defined inside templates/index.ts. The second argument are the template props.
Development
You can use an API endpoint to preview the email HTML, there's already one on /apps/web/pages/api/email.ts feel free to change the template to the one you're currently working on.