Mandar email con formato HTML desde un script

Puede que a veces necesitemos enviar desde un script en Bash un email con formato HTML o simplemente enviarnos un HTML que hemos descargado con WGET.

De forma sencilla para mandar un email desde un script:

# enviamos el email
echo -e "__cuerpo_del_mensaje__" | mail \
	-a "From: __direccion_de_origen_del_email__" \
	-a "MIME-Version: 1.0" \
	-a "Content-Type: text/html" \
	-s "__asunto_del_mensaje__" \
	__direcciones_de_email_separadas_por_comas__

Donde: __cuerpo_del_mensaje__ -> es el cuerpo del mensaje.
__direccion_de_origen_del_email__ -> es una dirección FROM con la que llegará el email
__asunto_del_mensaje__ -> asunto del mensaje
__direcciones_de_email_separadas_por_comas__ -> una o varias direcciones de destino separadas por comas

Podemos usar lo siguiente para enviarnos un email con formato HTML desde un fichero HTML:

/usr/bin/wget URL -O /tmp/temporal.html 2>/dev/null

(
 echo "Subject: Texto del tema"
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
  cat /tmp/temporal.html
) | /usr/sbin/sendmail email_destinatario

rm -f /tmp/temporal.html

Ahora solo debemos cambiar lo que está en negrita por nuestros datos y recibiremos un email con formato HTML

O añadiendo nuestro código HTML al email:

(
 echo "MIME-Version: 1.0"
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 echo "Subject: Texto del tema"

 echo "normal negrita  normal"  

) | /usr/sbin/sendmail email_destinatario

rm -f /tmp/temporal.html
NOTA
En el subject no se permite HTML o al menos no lo he conseguido.

Retro

Lugares

Redes

Sistemas

Varios