I’d like to add Unicode characters to plain text email being sent via SMTP. Our implementation is based on .NET’s System.Net.Mail, which makes it easy to specify Unicode encoding this way:
message.BodyEncoding = System.Text.Encoding.UTF8;
Even for English, switching to Unicode would allow me to include bullet points (Unicode code point U+2022 = •) in the email text. An alternate HTML email body permits using <ul> elements for bulleted lists, but for plain text email I’d like a solution that is less ugly than using asterixes or dashes for bullets.
Is there a downside to using Unicode encoding in SMTP? Should I worry that some recipients won’t be able to receive or read the email due to this encoding?
There are several layers to this question, I believe.
First, the raw SMTP protocol does not handle UTF-8. However, there are widely deployed extensions that add that support, and it should not be a problem as long as your code uses the correct magic. The implementation you mention probably is good enough.
Second, if your UTF-8 message survives SMTP intact to the recipient, there is the question whether their mail client handles UTF-8 correctly. Basic support is, I believe, widely deployed, but some older clients may have a problem. Problems may ensue if you use exotic characters, as the recipient may not have correct fonts. However, any client that handles HTML email is likely to handle UTF-8 as well.
If you know your likely recipients, I’d recommend testing with their setups.