Linux

Mutt: enviar correos desde línea de comandos

Hace ya bastantes años publiqué una entrada en la que explicaba la forma de enviar correos desde línea de comandos, incluido con adjuntos, utilizando el comando “mail”, también hay otro en el que podes enviar correos HTML con el módulo de perl MIME::Lite. En este caso voy a explicar como utilizar mutt para enviar correos desde shell.



Mutt es un cliente de correo disponible sin entorno gráfico. Los correos se pueden enviar desde la interfaz propia de mutt o directamente desde la shell bash o la que nos encontremos.

Un ejemplo básico sería el siguiente:

# echo "Esto es una prueba" | mutt -s 'Test' [email protected]

En este caso se va a enviar un correo electrónico a “[email protected]” con el asunto “Test” y el cuerpo del mensaje “Esto es una prueba.



También podemos personalizar las cabeceras del correo como por ejemplo el “From: “. También suele ser más común enviar el contenido de un archivo de texto con un “cat” en lugar de escribirlo en un “echo”:

# cat test.xt | mutt -e 'my_hdr From: Foo Bar ' -s 'Test' [email protected]


Y enviar adjuntos con el parámetro “-a” de mutt:

# cat prueba.txt | mutt -e 'my_hdr From: Foo Bar ' -s 'Test' -a imagen.jpg [email protected]