Configurar msmtp para enviar correos desde la terminal

Para enviar correos desde la terminal podemos utilizar muchas herramientas. Vamos a configurar una en particular que se llama msmtp que permite enviar correos utilizando tu cuenta de Gmail que tenga el SMTP habilitado.

sudo apt-get install msmtp

Luego, creamos el archivo de configuración del mismo:

nano ~/.msmtprc

Y copiamos la siguiente configuración (ojo, está para Gmail, para otros proveedores de cuentas de correo tienen que cambiar los parámetros):

# Provider configuration
defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log

# Account configuration
account default
host smtp.gmail.com
port 587
auth on
from tucorreo@gmail.com
user tucorreo@gmail.com
passwordeval gpg -d ~/.msmtp.password.gpg

La documentación completa para el archivo de configuración se encuentra aquí y aquí pueden encontrar un buen ejemplo de archivo de configuración. Noten que solo creamos la cuenta default, msmtp permite crear varias cuentas y luego enviar correos con cada cuenta independiente. También noten que lo anterior también funciona para correos de otros dominios que estén configurados para usar el email de Gmail vía GoogleApps.

Como verán, la clave del correo no está en texto plano en el archivo de configuración (NUNCA!!). Debemos crear el archivo cifrado ~/.msmtp.password.gpg:

nano ~/.msmtp.password

Escribimos la clave del correo en el editor, luego salimos con Ctrl+o (Guardar), Ctrl+x (Salir). Luego, ciframos el archivo:

gpg -c ~/.msmtp.password

Nos va a pedir una clave, puede ser lo que quieran, no es necesario que sea la del correo. Eso creará el archivo ~/.msmtp.password.gpg cifrado, por lo que deben eliminar el archivo original que contiene la clave en texto plano:

rm ~/.msmtp.password

Ahora, estamos listos para probar mandar un correo:

msmtp paraalguien@eldominio.com

Eso iniciará msmtp y ejecutará la acción que definimos para cargar la clave, en cuyo caso es decifrar el archivo que acabamos de crear. Introducimos la clave y luego escribimos en la terminal lo siguiente:

To: paraalguien@eldominio.com
Subject: El título del correo.

Cuerpo, blah blah.

Para enviar el correo introducimos un EOF con dos Ctrl+D seguidos.

Noten que el To no es necesario ya que lo introdujimos como parámetro al llamar a msmtp, pero si no lo ponen sería un envío tipo copia carbón oculta y no se mostrará el remitente. El From no es necesario pues puede ser solo uno, el que tenemos configurado en la cuenta del msmtp que estamos usando, en este caso la default.

Con eso ya deberían ver el correo después de unos segundos en su correo de salida en el webmail.

Saludos

Etiquetado , ,

Un pensamiento en “Configurar msmtp para enviar correos desde la terminal

  1. Sufrostico dice:

    y para utilizarlo con mutt (msmtp significa “mutt smtp”)

    set sendmail=”/usr/bin/msmtp” en el archivo muttrc

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

A %d blogueros les gusta esto: