Although I don't like html mail, I've had a simular problem (sun box to windows outlook).
I solved it by including the content type and boundry settings in the file that's being piped to mailx.
This 'html.file' will show as html (in outlook, cannot test it with other html compliant mailreaders):
<!DOCTYPE html PUBliC "-//W3C//DTD html 4.0 Transitional//EN">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
Testing 1 2 3.
The first From is used if your reply adress needs to differ from the one that's automatically included. Usage is like you showed (cat file | nailx email@example.com
Hope this helps.