Como envio email da linha de comando do linux para que apareça como HTML para o destinatário?

10

Tentei enviar por e-mail uma página da web normal usando algo como:

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

No entanto, o destinatário vê as tags HTML brutas no email e nenhuma das minhas formatação cuidadosa. Estou usando o RedHat Linux.

Virola de Umber
fonte

Respostas:

10

Você precisa informar ao MUA que o conteúdo contém HTML. Tradicionalmente, isso é feito usando MIME. Tente adicionar as seguintes linhas de cabeçalho à sua mensagem:

Mime-Version: 1.0
Content-Type: text/html

Pode ser necessário adicionar também um cabeçalho de codificação de transferência de conteúdo. A página da Wikipedia no MIME tem mais detalhes, incluindo links para RFCs relevantes.

Atualização: Isso funcionou bem quando direcionado para 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>
Gerald Combs
fonte
Se eu tiver um tipo de conteúdo, application/xhtml+xmlele será anexado. Você acha que pode ser consertado?
Adobe
Outra pergunta: se eu tenho imagens embutidas no arquivo html - como as mantenho com esse método ( sendmail -t)?
Adobe
Quanto às imagens embutidas: Encontrei uma solução - mas o Gmail não carrega as imagens (yahoo).
Adobe
2

Solução 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
rgareca
fonte
1

não é possível com mailafaik. Mas aqui está um breve tutorial sobre o sendmail.

cristão
fonte
1

Claro que é possível com o correio:

mail -a 'Content-type: text/html; charset="us-ascii"' [email protected] < /file.html
user55079
fonte
Eu recebo um erro: No Content-type: text/html; charset="us-ascii": No such file or directory. email --help, percebo que a opção -a é para passar FILE.
Prabhat Kumar Singh
0

As mensagens de email, como as páginas da Web, têm seu tipo de conteúdo especificado nos cabeçalhos. 'mail' parece anteceder isso e não envia nenhum, e todos os MUAs voltam a exibir a mensagem como texto / sem formatação.

Se você deseja especificar todos os cabeçalhos manualmente, chame sendmail [email protected]e passe tudo para ele.

<subjective>Mas lembre-se de que, embora algumas pessoas (inclusive eu) não gostem de emails em HTML, o recebimento de emails em HTML sem um texto alternativo / parte simples é realmente irritante . Portanto, a menos que você tenha certeza absoluta de que o destinatário pode ver bem as mensagens HTML, seria melhor enviar uma mensagem com várias partes com uma parte de texto sem formatação como alternativa.</subjective>

user1686
fonte
De fato, o SMTP (STD 11 / RFC 823, 1982) antecede o MIME (RFC 2045, 1996) e toda a sua qualidade habilitada para HTML. Foi formado a partir de couros de búfalo no início da Internet.
Gerald Combs
Gerald: Eu quis dizer o mailxMUA (que por alguma razão eu acho que é ainda mais antigo), não o e-mail em si.
usar o seguinte comando
De acordo com a página de email do OS X (1), "Um comando de email apareceu na Versão 1 da AT&T UNIX". O Ubuntu diz que era a versão 3 da AT&T UNIX. De qualquer maneira, parece ter aparecido por volta de 1971 ou 1973.
Gerald Combs
0

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

Wagoo
fonte