Configurar msmtp para enviar correos desde consola en Linux

miércoles, 11 de febrero de 2015

Configurar msmtp para enviar correos desde consola en Linux




Msmtp es un cliente de SMTP muy simple, personalizable y fácil de usar. Podemos enviar correos desde la terminal utilizando una cuenta de correo existente. Puedes configurar el servidor que tu quieras, yo te muestro tres. Hotmail, Gmail y Yahoo.

Para poder utilizarlo debemos instalarlo utilizando el gestor de descargas de nuestra distribución, además necesitamos instalar ca-certificates, sin el, los servidores no nos permitirán conectarnos.
sudo pacman -S msmtp ca-certificates
Una vez instalado creamos el archivo ~/.msmtprc y agregamos lo siguiente.

 nano ~/.msmtprc
 ~/.msmtprc

defaults tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.log # Gmail account gmail host smtp.gmail.com port 587 auth on from usuario@gmail.com user usuario password lacontraseña # Hotmail account hotmail host smtp.live.com port 587 auth on user usuario@hotmail.com password lacontraseña from usuario@hotmail.com # Yahoo account yahoo host smtp.mail.yahoo.com port 587 auth on user usuario@yahoo.com password lacontraseña from usuario@yahoo.com # Set a deafault account account default : gmail
Remplaza los valores usuario y lacontraseña por los tuyos.
Debemos tener permiso de lectura y escritura sobre el archivo:
chmod 600 ~/.msmtprc
Y probamos:

echo "Estoy enviando un correo desde consola con msmtp" | msmtp -a default usuario@dominio.com
El correo se enviará con la cuenta que tengamos definida en account default en nuestro archivo msmtprc o podemos cambiar en el comando anterior la opción default por hotmail, yahoo o gmail. Debes de cambiar usuario@dominio.com por la dirección del usuario al que le enviarás el correo, (por ejemplo la tuya).

Utilizando Gnu PG

Nunca está de más la seguridad, para eso nos podemos apoyar en Gnu PG (GPG) y evitar guardar la contraseña en texto plano, aunque podemos utilizar cualquier otra herramienta de cifrado. Al utilizar passwordeval podemos lanzar un programa externo. Encriptando:
 echo -e "lacontraseña\n" | gpg --encrypt -o .msmtp-gmail.gpg
Y en nuestro archivo de configuración cambiamos password por passwordeval y su valor de esta manera:
 passwordeval    "gpg --quiet --for-your-eyes-only --decrypt ~/.msmtp-gmail.pgp"

0 comentarios :

Publicar un comentario