Add plan for mailgun transition for transactional email provider#628
Add plan for mailgun transition for transactional email provider#628
Conversation
Code Review SummaryStatus: 3 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
Other Observations (not in diff)Issues found in unchanged code that cannot receive inline comments: None. Files Reviewed (14 files)
|
| " | ||
| > | ||
| • <strong style="color: #d1d5db">{{ seats }} Enterprise Seats</strong> (a ${{ | ||
| seat_value }} value){% if has_credits %}<br />• |
There was a problem hiding this comment.
WARNING: Unrendered Liquid conditional will leak into sent email
This template still contains {% if has_credits %}...{% endif %}. The migration plan describes rendering with simple {{ variable }} replacement, so this conditional syntax will not be evaluated and will appear literally in outgoing emails.
| " | ||
| > | ||
| • <strong style="color: #d1d5db">{{ seats }} Enterprise Seats</strong> (a ${{ | ||
| seat_value }} value){% if has_credits %}<br />• |
There was a problem hiding this comment.
WARNING: Unrendered Liquid conditional will leak into sent email
This template still contains {% if has_credits %}...{% endif %}. With the proposed {{ variable }}-only renderer, this block will not be processed and raw template tags will be delivered to users.
| " | ||
| > | ||
| • <strong style="color: #d1d5db">{{ seats }} Enterprise Seats</strong> (a ${{ | ||
| seat_value }} value){% if has_credits %}<br />• |
There was a problem hiding this comment.
WARNING: Unrendered Liquid conditional will leak into sent email
This template still uses {% if has_credits %}...{% endif %}. Unless a Liquid engine is used, the new server-side interpolation approach will not handle this and the conditional markup will show up in the email body.
Context
We're migrating our transactional email infrastructure from Customer.io to Mailgun, as recommended by our email deliverability providers. As part of this migration, email template content (previously managed in Customer.io's GUI) will move into code in the cloud repo. This PR contains the 12 HTML email templates plus a markdown file laying out the implementation plan.
Complication
This is a high-stakes change — transactional emails are customer-facing and business-critical, so we need confidence in both the architecture and our ability to test safely before going live.
Question
Does the implementation plan hold up to scrutiny, and are we set up to ship this safely?
Request
The markdown file is the primary thing needing review. I'm requesting feedback focused on three areas: