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