Skip to main content

Enviar correos desde la terminal con Mail en Ubuntu Server 12.04 LTS

A veces necesitamos enviar correos desde la línea de comandos. No como lo hace una aplicación como Mutt, sino directamente desde la línea de comando o desde un script o desde las tareas de cron.
Para estos casos disponemos de una ligera aplicación en el paquete mailutils llamada mail.
Para instalar mail basta con instalar el paquete mailutils. Con el siguiente comando ejecutado en una terminal lo tendremos hecho.

sudo aptitude install mailutils

Modo de empleo.

La aplicación mail dispone de un modo interactivo para enviar correos desde la línea de comandos. Por ejemplo para enviar un correo a user@example.com:

mail user@example.com

Y nos mostrará algo como:

Cc:
Subject: 

En “Cc:” podemos poner un destinatario que recibirá copia. En “Subject:” el asunto del mensaje. Después podremos escribir libremente el contenido del mensaje. Y cuando terminemos de redactar el contenido pulsaremos CONTRL-D para finalizar y enviar el mensaje.
Pero esto en realidad no es lo que pretendíamos. Esto ya lo podemos hacer mejor con Mutt. Aunque viene bien conocer este uso.

Enviar mensajes desde la línea o scripts

Para enviar un mensaje a una dirección de correo desde la terminal o desde dentro de un script  basta con:

echo "El mensaje a enviar" | mail user@example.com

Para que lleve el mensaje lleve asunto usaremos la opción “-s”, como en:

echo "El mensaje a enviar" | mail -s "Asunto" user@example.com

Y para añadir un fichero adjunto usaremos la opción “-a”, como en:

echo "El mensaje a enviar" | mail -a fichero.ext user@example.com