Eu já vi isso:
mail -a "Content-type: text/html;" -s Test [email protected] < mail_html.html
Eu deveria ter mencionado, eu testei isso no Ubuntu Server 10.04_x64 com Gnu Mail Utils - > Postfix
Atualmente, envio um email do comando do Linux assim:
echo "Here is the link: file:///S:/some_doc.html" | mail -s "Here is some_doc.html" [email protected]
Em alguns clientes de e-mail, o "arquivo: /// S: /some_doc.html" no corpo da mensagem se torna um link no qual o usuário pode clicar, mas em outro clientes é apresentado como texto simples, exigindo que o usuário copie e cole a string em um navegador da web. Como modifico o comando para tornar a mensagem HTML, para que o cliente de e-mail saiba como lidar com o link?
Isso obtém o link na mensagem, mas ainda é tratado como texto sem HTML:
echo "Here is the link to: <a href='file:///S:/some_doc.html'>some_doc.html</a>" | mail -s "Here is some_doc.html" [email protected]
Eu já vi isso:
mail -a "Content-type: text/html;" -s Test [email protected] < mail_html.html
Eu deveria ter mencionado, eu testei isso no Ubuntu Server 10.04_x64 com Gnu Mail Utils - > Postfix
Mensagem:
A melhor maneira é criar uma mensagem MIME Content-Type: multipart/alternative
com text/plain
e text/html
parts.
Para o preguiçoso, Content-Type: text/html
(com HTML direto no corpo da mensagem) serve.
... mas lembre-se de que existem clientes de e-mail que não podem exibir HTML.
O que você escolher, adicione um charset=utf-8
(como em Content-Type: text/html; charset=utf-8
) ao cabeçalho do tipo. (Qualquer conjunto de caracteres não-Unicode (exceto talvez us-ascii
e iso-8859-1
) é mal.)
Envio:
Nathaniel sugeriu mail -a "Content-Type: text/html"
, mas isso só funciona com o GNU Mailutils.
Uma maneira mais confiável é canalizar a mensagem sendmail
, mas você terá que construir todos os cabeçalhos por conta própria.
[email protected]
echo -e "From: <$USER>\nTo: <$rcpt>\nDate: $(date "+%a, %d %b %Y %H:%M:%S %z")\nContent-Type: text/html; charset=utf-8\n\n<!DOCTYPE html>\n<p>Here is the link to: <a href=\"file:///S:/some_doc.html\">some_doc.html</a>" | sendmail -i "$rcpt"