I’ve never done this before with Publisher, but I found a copy Publisher on an old laptop so I opened up the email. I found two sets of relevant options:
One was the set of options to Save as HTML, Publish to Web, et cetera. I’m guessing that’s what you used, since I got a similar result when I tried it. When I looked at the code behind the version you put online, I saw over 5200 lines of code there…it was mostly made up of massive amounts of XML, which try to function as an HTML page (even though it’s not really HTML), but also contain ALL of the information–all kinds of parameters for the different objects and styles in the document–that Publisher needs to understand the file. I didn’t look at the file in detail, but it’s likely that that XML was causing problems with the email.
I found a sub-menu under the File menu, Send Email. There was one option to send an email directly from Publisher, but if that’s not the way you want to send it, the “Email Preview” actually produces an HTML file that you could copy and paste into your own email system. You might have to fine-tune the Publisher document to get the email export to look right. The code it produces isn’t optimal for email, but as far as I can tell, it should work.
HTML for email is much different than HTML for a web page. While web browsers are built to understand and display every bit of HTML code, email clients are not made with the same capabilities. Depending on the email client, this is due to a combination of outdatedness and security measures. Not only is this the case, but every email client has its own set of HTML that it allows, and its own way of displaying it. Webmail clients like Gmail are better, but others are much less consistent. (Outlook is no exception.)
The result is that HTML has to be written differently for email than for web pages. That’s why the code produced by Publisher worked on the web page you posted, and in some recipients’ email programs, but not in others.
Anyway, I hope that explanation is somewhat edifying. Let me know if you can get the email option to work in Publisher. If it doesn’t, post the code up here again and I (or someone else) might be able to look at the code in detail and see if there are any other problems codewise.