The solution we have is quite complex, as it also includes a builder where client can drag-drop blocks to create template (with text variables) for mailings.
Mustache is used for color/font substitutions and also for text variable (like $recipient_name) substitutions.
So: JSON representation of an email -> HTML+Mustache -> HTML+Mustache (only variables) -> HTML
For (live during email building) previews we skip the last step and show the Mustache syntax.