11

I've tried emailing a normal web page using something like:

mail -s "Test Email" [email protected] < webpage.htm

However, the recipient sees the raw HTML tags in the email and none of my careful formatting. Am using RedHat Linux.

6 Answers 6

10

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 sendmail -t:

From: [email protected]
To: [email protected]
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>
3
  • If I have content type application/xhtml+xml it comes as an attachment. Do You think it can be fixed?
    – Adobe
    Mar 10, 2013 at 21:12
  • Another question: if I have inline images in html file -- how do I keep them with this method (sendmail -t)?
    – Adobe
    Mar 10, 2013 at 21:19
  • As to inline images: I found a solution -- but gmail won't load the images (yahoo do).
    – Adobe
    Mar 11, 2013 at 10:20
2

Solucion a envio html

mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' -a 'X-AUTOR: Ing. Gareca' -s 'MTA STATUS: mail queue' [email protected]  -- -f [email protected]  < /tmp/eximrep.html
1

it is not possible with mail afaik. But here is a short how-to with sendmail.

1

Sure it's possible with mail:

mail -a 'Content-type: text/html; charset="us-ascii"' [email protected] < /file.html
1
  • I get an error : Content-type: text/html; charset="us-ascii": No such file or directory. From mail --help, I get that the -a option is for passing FILE. Mar 30, 2018 at 9:40
0

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 protected] 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. </subjective>

3
  • SMTP (STD 11/RFC 823, 1982) does in fact predate MIME (RFC 2045, 1996) and all of its HTML-enabled goodness. It was formed from buffalo hides at the dawn of the Internet. Jan 15, 2010 at 19:40
  • Gerald: I meant the mailx MUA (which for some reason I feel is even older), not email itself. Jan 15, 2010 at 20:01
  • According to the OS X mail(1) page, "A mail command appeared in Version 1 AT&T UNIX." Ubuntu says it was Version 3 AT&T UNIX. Either way it appears to have shown up around 1971 or 1973. Jan 15, 2010 at 21:56
0

uuencode webpage.html webpage.html | mail -s "subject" email@address

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .