sábado, 1 de noviembre de 2014

Enviando email desde consola (Linux): SSMTP + GMAIL









Veremos con este sencillo método como configurar sSMTP para que nos permita enviar un email desde la consola. En nuestro caso, usaremos una cuenta de Gmail ( la cuenta de gmail tiene autenticación en dos pasos activada por lo tanto la contraseña usada es una contraseña de aplicación generada para configurar en estos casos) aunque esto es extrapolable a otras cuentas de correo con los debidos cambios. También usaremos un host basado en Debian.

Para comenzar empezaremos instalando sSMTP, esto es tan sencillo como ejecutar lo siguiente en la consola.

sudo apt-get install ssmtp

Una vez echo esto podremos comenzar a configurar los ficheros de configuración de sSMTP, estos se encuentran en la ruta  '/etc/ssmtp'.

Abrimos desde consola el fichero ya sea usando el editor nano o vim, en mi caso uso vim 'sudo vim /etc/ssmtp/ssmtp.conf' donde nos encontraremos el fichero tal como muestra la imagen.






Aquí dejo el código por defecto por si se necesita:


#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES                                                                              


Una vez estamos aquí editaremos el fichero editando los siguientes apartados y generando algunos que no están.


root=tuemail@gmail.com
mailhub=smtp.gmail.com:587

rewriteDomain=gmail.com

hostname=localhost

UseTLS=Yes
 

UseSTARTTLS=Yes

AuthUser=usuario_sin_dominio
 

AuthPass=contraseña
 
FromLineOverride=yes


Nos debería quedar el fichero como se muestra en la imagen a continuación





Una vez configurado, comprobaremos que se envían emails desde la consola con el siguiente comando de prueba.

echo "Email de prueba" | ssmtp -s "sSMTP+GMAIL" usuario@gmail.com
Y finalmente comprobamos como nos llega a nuestro correo.










Como nota final, recordar que la contraseña usada es una contraseña de aplicación generada porque mi cuenta usa la autenticación en dos pasos.