The real problem with HTML emails is inconsistent rendering by different email clients. I had to make some HTML email templates for a marketing campaign, thought it would be easy seeing as I make HTML website template all day.... ended up spending hours debugging random Microsoft Outlook rendering inconsistencies and other client issues.
Some clients don't support anything but inline styles, others support style tags. Some support media queries, some don't. Some support custom fonts / web fonts, some don't. Gmail in browser behaves differently from Gmail android client behaves differently from Gmail iOS client, etc. There's an absolutely infuriating dark mode on Outlook that randomly swaps certain color hues and as far as I can tell there's no way to detect or show different styles for it, you just have to make your design stand up to certain colors being swapped (don't use any logo or other image that can't stand clearly against both black and white backgrounds). I learned a lot about a bunch of extremely legacy HTML and CSS rules that would never be used in a modern website but were basically required for a semi-responsive email.
I won't ever do it again- if I need a custom styled email, I'll use someone else's template or email template builder service.
Some clients don't support anything but inline styles, others support style tags. Some support media queries, some don't. Some support custom fonts / web fonts, some don't. Gmail in browser behaves differently from Gmail android client behaves differently from Gmail iOS client, etc. There's an absolutely infuriating dark mode on Outlook that randomly swaps certain color hues and as far as I can tell there's no way to detect or show different styles for it, you just have to make your design stand up to certain colors being swapped (don't use any logo or other image that can't stand clearly against both black and white backgrounds). I learned a lot about a bunch of extremely legacy HTML and CSS rules that would never be used in a modern website but were basically required for a semi-responsive email.
I won't ever do it again- if I need a custom styled email, I'll use someone else's template or email template builder service.