Sending an email with mail function shows up as an attachment 'noname'

I have a file named email.html with this as the contents:

Content-type: text/html

ACHI,ACCRETIVE HEALTH ,7.15,<br>CPRT,Copart Inc.,36.14,<br>GEOB.MX,GEO-B,1.660,<br>GCO,Genesco Inc. Comm,73.58,<br>GMAN,Gordmans Stores, ,<br>GES,Guess? Inc. Comm,26.45,<br>KBR,KBR Inc. Common ,22.89,<br>MVN.V,MADALENA ENERGY I,0.62,<br>MEI.V,MANITOK ENERGY IN,2.47,<br>MLAB,Mesa Laboratories,76.80,<br>PTA.V,PETROAMERICA OIL ,0.295,<br>SPDC,Speed Commerce I,3.27,<br>SRN.V,SUROCO ENERGY INC,0.51,<br>TWGP,Tower Group Inter,2.18,<br>UNFI,United Natural Fo,66.72,<br>VGQ.TO,VIRGINIA MINES IN,12.00,

And I'm trying to send an email with that file as the content using the mail function in shell. So I do this:

cat email.html | mail -s "a subject" myemail@gmail.com

However, when the email arrives, there is nothing in body. There is only a file attached called "noname" with the original email.html contents.

Could anyone help me out? Googling has not been helpful

Maybe your mail text has a first line

Content-type: text/html

and your mail program (or your MTA) appends the first line(s) to the mail header.
Then, it depends on your mail reader how this is displayed.