So I decided to crank out a quick write up on the matter. It’s something that also bothered me for the longest time, and a few years ago when I was hired into a job that enforced using Outlook clients I finally got to the bottom of it!
Also I work at Microsoft, so I had the best testing ground in the world. I just set an email to a non-outlook email address from my work account. Let’s take a look and see what happened.
From office 365
So that actually worked out as expected!
It looks like the new Office 365 web client is on point and doing great. Good job everyone!
Heck, even the smiley face is the proper emoticon code 😊 (
For clarity I went ahead and pulled to raw message, and ran a quick
base64 decode on it to get the following outputs.
Just sending a quick testing email 😊
But I know there are sinister email’s still lurking around the internet somewhere. Let’s dive deeper..
I found an email in my archives when I tested this theory years ago. My only computer that runs the Outlook client is actually at the office, and I am lazy.
Regardless, this sample is really what we are looking for!
Here we can see that the
HTML in the email does something fairly concerning. We didn’t get valid
HTML. The email used a pseudo
HTML markdown that was designed for word-processing style sheets, and does not adhere to the
ISO/IEC 15445 standard for
The markdown actually references some font logic that is defined as an
HTML comment, as well as referencing a proprietary font!
Hence why the font definitions aren’t being interpreted, and the user is left with an unfriendly looking email to read. Below is the decoded
Hey this is a test! J
The infamous capital j
If you have ever wondered why you see erroneous
j‘s floating around in emails, the unencoded sample from above can answer that as well.
When a user (in the older Outlook tools) types
:) the program will actually replace the smiley face with
J instead of 😊.
The source clearly shows that the smiley face being sent is encoded in the Wingdings font!
Wingdings is available for purchase here at microsoft.com/typography/fonts if you want to run it on your server to decode the
Older outlook clients used to do some wonky things with mime encoding and pseudo HTML formatting that conflicted with
Most clients probably don’t support the non-standard encoding (well). So it’s another case of not adhering to standard to do things a proprietary way.
So in theory, Outlook has been using emoticons since before emoticons were cool. NO BIG DEAL!
Glad to know it’s working as expected now, and that we should see the problem disappear over time. So much ❤ for the engineers who helped fix this! jjj