Only in the last year have I started switching us over to MJML here at CodePen to help craft our HTML emails. Aside from a few minor rough edges, it’s been a nice upgrade from hand-writing the email HTML. Not only was that tricky and time-consuming, but it was also error-prone. The switch-over was in part inspired by some Microsoft Outlook bugs with our CodePen Spark email which MJML helped resolve.

But I have been eying up React Email recently. It’s really just JSX Email as React features are largely irrelevant here. It’s just a nice templating language abstraction. I feel fairly comfortable in JSX so that’s appealing, but so is the modern take on things including a hot module reloading preview and all that.

We don’t really need the sending integrations, but I like how there are basic components available, you can render them to HTML strings for porting elsewhere fairly easily, they didn’t forget about plain text output, and it looks actively developed with a sensible roadmap.

In taking another look recently, I was surprised to see they re-created our CodePen Challenges email!

I guess if we decide to switch someday, they’ve already done a good amount of the work for us. 😍