Enviar correo desde la terminal

Ando investigando un par de asuntos (ya os comentaré) para los cuales sería interesante poder enviar correos utilizando la terminal de Linux.

Como no cuento con un servidor de correo propio 🙂 he optado por usar mi querida cuenta de GMail para la recepción de los mismos y habilitando en mi equipo el servicio SSMTP

Instalación

Para que funcione necesitamos tener instalado:

  • ssmtp

El cual podemos instalar desde Synpatic o la terminal con un

sudo apt-get install ssmtp

Configuración

Editamos el fichero /etc/ssmtp/ssmtp.conf

root=MICUENTA@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=MICUENTA@gmail.com
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=MICUENTA
AuthPass=MICLAVE

Donde

  • MICUENTA es tu nombre de usuario en GMail ( si la cuenta es fulanito@gmail entonces MICUENTA es fulanito )
  • MICLAVE es la contraseña para entrar en GMail 😉

Igualmente debemos indicar los usuarios que podrán usar el servicio modificando el fichero /etc/revaliases

root:fulanito@gmail.com:smtp.gmail.com:587
user_1:menganito@gmail.com:smtp.gmail.com:587
user_2:zetanito@gmail.com:smtp.gmail.com:587

Donde

  • root, user_1 y user_2 son usuarios de Linux
  • fulanito, menganito y zetanito son los nombres de las cuentas de GMail

Añade tantos usuarios como necesites

Comprobación

Para comprobar si funciona el envío de correos nada más sencillo que lanzar desde la terminal un

echo "Este es el cuerpo del mensaje de prueba"  | mail -s "Subject de la prueba" cualquier_persona@dominio.es

Si te diese algún problema el envío de correos usando el comando mail puede que se deba a no tener instalados los paquetes

  • mailx
  • mailutils

Parece que existen algunas dependencias entre ellos que dan problemas por lo que recomiendo instalarlos de forma independiente y en el orden que aparecen en el enumerado de arriba

17 comentarios en “Enviar correo desde la terminal

  1. Lo ideal sería utilizar este metodo para enviar adjuntos el backup de un sistema cada x días (cron). Las cuentas de gmail serían ideales.

    El backup debería estar fragmentado en trozos de 9 o 10 megas.

    Son ideas que se me ocurren.

    Un saludo!

  2. EdisonJavier dijo:

    Muy bueno el post, se te felicita, yo estoy trabajando con el servicio ssmtp, lo ejecuto no desde la linea de comandos si no que me cree un script el mismo que hace el envio del mail. Funciona muy bien..

    Tambien he trado de programar el script mediante el crontab. Pero aqui surge problemas por que el email no se envia…. alguien sabe si habra que modificar algo mas en el archivo de configuracion ssmtp.conf. Pues cuando ejecuto desde el terminal my script este envia el mail. pero cuando lo mando a ejecutar el script usando el crontab el email no se envia…. ____????? alguna idea… de por que sucede esto……..???

    De ante mano muchas gracias… cualquier sugerencia puedes escribirme a mi correo es edisonjavier85@yahoo.com

  3. fede dijo:

    Hola jasvazquez,
    me he reenganchado al ubuntu(hacia tiempo q andaba asfixiado en windows), estoy trabajando con el comando mail.
    El servicio ssmtp es equivalente al que da postfix, verdad??
    ¿El comando mail permite enviar documentos adjuntos? A mi me da error pero en la documentacion parece ser q si envia(tengo los paketes mailutils y mailx instalado)

    ¿Probaste a enviar emails vacios(sin cuerpo)? mail -s ‘xxx’ A@B.com

      • fede dijo:

        he probado con varias cuentas de google y el al mandar un adjunto, el correo se recibe pero NO el adjunto:(
        Seria util poder enviar un adjunto(log) ¿A ti te funciona con adjuntos?

        Este es el error que me devuelve el comando mail al enviar un adjunto:
        mail: Invalid header: fichero

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s