We had this happen with EE 2.5.2. The issue was the related to a WYSIWYG field specifically. But also related to how ExpressionEngine now handles encode. It was converting all the curly brackets to html_entities, which means they did get parsed.
We solved by switching to using BBCode for encoding. This required find/replace across entries, but basically we searched for…
then replaced with
The find/replace code was a bit more complicated, because it required multiple passes for different email combinations for example some people used. But we tested and played with in BBEdit until we got it working, then backed up the database and ran it using EE Find/Replace tool.
There are probably other options you can use as well, such as modify the WYSIWYG add-on/field_type. Use a different WYSIWYG field_type, one that offers its own {encode} option, etc., or lastly, if you turn on ‘automatic conversion’ EE will encode all email addresses.
This wasn’t really an option for us, because auto-conversion doesn’t create proper urls. In fact if EE separated out the auto-conversion into two separate options: (1) auto-convert emails, and (2) auto-convert urls this would be much better. For accessibility and standards compliance we always include titles with our <a > and auto-convert doesn’t.