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

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

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


1

Claro que es posible con el correo:

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

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


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.