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" blah@blah.com < 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.

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: me@example.org
To: me@gmail.com
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>

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' rgareca@hotmail.com  -- -f seincotel@seincotel.com  < /tmp/eximrep.html

1

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


1

Claro que é possível com o correio:

mail -a 'Content-type: text/html; charset="us-ascii"' foo@bar.com < /file.html

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 recipient@example.come 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>


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.