Email formatting is tricky as there is a wide variety of email clients, across many devices. They each support slightly different CSS elements. If a particular email client (for example, Outlook) doesn't support a style you've applied to a section, that section will show up as broken for your readers. Email clients ability to display styling is very outdated in comparison to what a modern browser, like Chrome or Safari, can display.
Because of this, we have to specially transform the code from the block editor into email-ready code. We've put in a lot of work to make our email code lightweight, clean and readable across email browsers. Our code is heavily tested using Litmus and Testi.
To reduce the chances of your email newsletter breaking or appearing as poorly formatted for your readers, we've limited the blocks you're able to use for your emails in the Newsletter custom post type.
In contrast, we haven't limited the blocks in your regular posts or other custom post types because that would mean you can't use those blocks even when publishing a regular post.
As a result, people trying to send a blog post as a newsletter occasionally run into the problem of broken emails because they've used a block that we haven't optimised for email.
Quick guidelines for what we've optimised, and haven't:
1. All our custom Newsletter Glue blocks are optimised for email.
2. Some Gutenberg blocks are optimised for email (see complete list below).
3. No 3rd party plugin blocks are optimised for email.
4. It's worth noting that any blocks that output basic text are likely to work, even if we haven't specifically optimised it. This will be entirely up to you to test.
What if I want to use unoptimised blocks for my blog posts, and exclude them from my newsletters?
Simple. You can use our Show/hide block. Add the unoptimised content into your block and toggle on Show in blog post, then toggle off Show in newsletter.
This will also work with our Container block.
The complete list of the blocks we've optimised:
- Columns (all columns will render as 50:50)
- Custom HTML
- Shortcode (any shortcodes that produce code that's not email-ready, will break)
- Post date
Newsletter Glue custom blocks
- NG: Show/hide content
- NG: Subscriber form
- NG: Post embeds
- NG: Author byline
- NG: Container
- NG: Newsletter meta data
- NG: Social follow