What's wrong with this?
<a href="mailto:mail.added@by.js" />
some
<span style="display: none" />☃</span>
person@gmail.com
</a>
And here I can either click the link or copy the text and it isn't all messed up. A simple function can easily generate that HTML for any email string.