En un viejo artículo expliqué cómo enviar mail desde línea de comandos, algo útil cuando necesitamos que un script Bash nos envíe un correo. Ahora comparto una solución para enviarlo en formato HTML.

Para enviar mail en formato HTML desde línea de comandos, en Debian, utilizo la herramienta bsd-mailx. Si no se encuentra instalada, simplemente ejecutar como superusuario:

# apt-get install bsd-mailx

Algunas opciones son idénticas a la del comando mail, excepto -a, la cual se utiliza para especificar cabeceras adicionales:

man bsd-mailx
     -a      Specify additional header fields on the command
             line such as "X-Loop: foo@bar" etc.  You have to
             use quotes if the string contains spaces.  This
             argument may be specified more than once, the head‐
             ers will then be concatenated.

El objetivo es setear la cabecera "Content-Type: text/html" para que el correo sea interpretado como HTML. Para ello simplemente ejecutar:

root@linuxito# bsd-mailx -a "Content-Type: text/html" -s "Test HTML" li••••to@op•••••••ox.org
<p>Hola mundo!</p>
<p>Prueba de tags HTML, por ejemplo <b>negritas</b>.</p>
.
Cc: 
root@linuxito# 

Recordar que, cuando se envía el mensaje desde entrada estándar, es necesario utilizar la secuencia <enter>.<enter> para finalizar. El campo "Cc:" es opcional y puede dejarse en blanco.

Se observa que al recibir el correo, éste es interpretado correctamente:


Tal vez pueda interesarte


Compartí este artículo