¿Cómo envío correo desde la línea de comando de Linux para que aparezca como HTML al destinatario?

10

He intentado enviar un correo electrónico a una página web normal usando algo como:

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

Sin embargo, el destinatario ve las etiquetas HTML sin procesar en el correo electrónico y nada de mi formato cuidadoso. Estoy usando RedHat Linux.

Virola Umber
fuente

Respuestas:

10

Debe decirle al MUA que el contenido contiene HTML. Tradicionalmente esto se hace usando MIME. Intente agregar las siguientes líneas de encabezado a su mensaje:

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

Es posible que también deba agregar un encabezado de Codificación de transferencia de contenido. La página de Wikipedia sobre MIME tiene más detalles, incluidos enlaces a RFC relevantes.

Actualización: esto funcionó bien cuando se canalizó a 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 Peines
fuente
Si tengo tipo de contenido application/xhtml+xml, viene como un archivo adjunto. ¿Crees que se puede arreglar?
Adobe
Otra pregunta: si tengo imágenes en línea en el archivo html, ¿cómo las mantengo con este método ( sendmail -t)?
Adobe
En cuanto a las imágenes en línea: encontré una solución , pero gmail no cargará las imágenes (yahoo sí).
Adobe
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
rgareca
fuente
1

No es posible con mailafaik. Pero aquí hay un breve tutorial con sendmail.

cristiano
fuente
1

Claro que es posible con el correo:

mail -a 'Content-type: text/html; charset="us-ascii"' [email protected] < /file.html
user55079
fuente
Recibo un error: Content-type: text/html; charset="us-ascii": No such file or directory. desde el correo --help, obtengo que la opción -a es para pasar FILE
Prabhat Kumar Singh
0

Los mensajes de correo electrónico, como las páginas web, tienen su tipo de contenido especificado en los encabezados. 'mail' parece ser anterior a esto y no envía ninguno, por lo que todos los MUA recurren a mostrar el mensaje como texto / sin formato.

Si desea especificar todos los encabezados manualmente, llame sendmail [email protected]y páselo todo.

<subjective>Pero recuerde que si bien algunas personas (incluido yo) no nos gustan los correos electrónicos HTML, recibir correos electrónicos HTML sin una parte alternativa de texto / plano es realmente molesto . Por lo tanto, a menos que esté absolutamente seguro de que el destinatario puede ver bien los mensajes HTML, sería mejor enviar un mensaje de varias partes con una parte de texto sin formato como alternativa.</subjective>

usuario1686
fuente
SMTP (STD 11 / RFC 823, 1982) de hecho es anterior a MIME (RFC 2045, 1996) y todas sus bondades habilitadas para HTML. Se formó a partir de pieles de búfalo en los albores de Internet.
Gerald Combs el
Gerald: Me refería al mailxMUA (que por alguna razón creo que es aún más antiguo), no al correo electrónico en sí.
user1686
De acuerdo con la página de correo de OS X (1), "Un comando de correo apareció en la Versión 1 AT&T UNIX". Ubuntu dice que era la Versión 3 de AT&T UNIX. De cualquier manera parece haber aparecido alrededor de 1971 o 1973.
Gerald Combs
0

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

Wagoo
fuente