I've tried emailing a normal web page using something like:
mail -s "Test Email" firstname.lastname@example.org < webpage.htm
However, the recipient sees the raw HTML tags in the email and none of my careful formatting. Am using RedHat Linux.
You need to tell the MUA that the content contains HTML. Traditionally this is done using MIME. Try adding the following header lines to your message:
Mime-Version: 1.0 Content-Type: text/html
You may need to add a Content-Transfer-Encoding header as well. The Wikipedia page on MIME has more details, including links to relevant RFCs.
Update: This worked fine when piped into
From: email@example.com To: firstname.lastname@example.org Subject: MIME Test Mime-Version: 1.0 Content-Type: text/html <html> <body> This is a test. </body> </html>
it is not possible with
Email messages, like web pages, have their content type specified in the headers. 'mail' seems to predate this and doesn't send any, and so all MUAs fall back to displaying the message as text/plain.
If you want to specify all headers manually, call
sendmail email@example.com and pass everything to it.
<subjective> But remember that while HTML emails are disliked by some people (including me), receiving HTML emails without an alternate text/plain part is really annoying. So, unless you're absolutely sure the recipient can see HTML messages fine, it would be better to send a multipart message with a plain-text part as an alternative.