Mi Blog
👉 Cómo enviar alertas automáticas de email con SSMTP en GNU/Linux Debian

Cómo enviar alertas automáticas de email con SSMTP en GNU/Linux Debian

 
(2 votos)

Seguramente muchos de vosotros habéis querido estar informados del estado de vuestro servidor a través de alarmas de email, ¿verdad? Desde hace muchísimos años conozco multitud de sistemas de monitorización como por ejemplo, Cacti, Nagios (mi preferido), MRTG, HP Openview, Graphite, Pandora , Munin... pero posiblemente os haya interesado alguna vez recibir alarmas o notificaciones de vuestro servidor totalmente personalizadas. En este pequeñísimo tutorial, os voy a enseñar como enviar emails a través de la consola Shell gracias al programa SSMTP. De esta forma, junto con el programador de tareas CRON y un poco de Bash Scripting, podemos hacer maravillas a la hora de estar al tanto del estado de nuestros equipos. Espero que os guste mi nuevo tutorial.

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

Excepto el proceso de instalación del paquete SSMTP, todos los pasos podemos aplicarlos a cualquiera de las distribuciones actuales de GNU/Linux.

El manual es muy sencillo y seguro que no tendréis problemas en seguirlo con mis indicaciones. ¡Allá vamos!

 

 

1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL

  • Máquina virtual con GNU/Linux Debian 8.0 corriendo bajo VMWARE WORKSTATION 11
  • SSMTP

 

 

2.- INSTALACIÓN DE SSMTP

Antes de realizar la instalación del paquete SSMTP, es recomendable primeramente actualizar la lista de paquetes de nuestros repositorios. Ejecutaremos (con root o sudo) los siguientes comandos para actualizar e instalar el paquete SSMTP:

# apt-get update
# apt-get install ssmtp

 

 

3.- CONFIGURACIÓN DE SSMTP

Ahora toca configurar SSMTP a través de su fichero principal de configuración en /etc/ssmtp/ssmtp.conf. Antes ed nada realizaremos uan copia de seguridad por si necesitamos revertir los cambios. Para ello haremos uso de nuestro editor de textos preferido, en mi caso usaré vi:

# cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.backup
# vi /etc/ssmtp/ssmtp.conf

El propósito de usar SSMTP es usar como una cuenta de GMAIL para el envío de correos desde nuestro propio equipo. Por tanto, debemos configurar los siguientes valores (el resto de valores podemos dejarlos tal y como están) en el fichero principal de configuración:

root = Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
mailhub = smtp.gmail.com:587
AuthUser=tu_email
AuthPass=tu_password
UseTLS=YES
UseSTARTTLS=YES
rewriteDomain=gmail.com
hostname=localhost
FromLineOverride=YES

Ahora necesitamos asociar al usuario root (en mi caso estoy usando root), la cuenta de email en el siguiente fichero /etc/ssmtp/revaliases quedando de la siguiente forma

root:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:smtp.gmail.com:587

Por último, para evitar que los emails se envien con From: root, ejecutaremos el siguiente comando y cambiaremos al valor a nuestro gusto:

# chfn -f 'Aquí nuestro valor' root

 

 

4.- CAMBIOS EN LA POLÍTICA DE SEGURIDAD DE GOOGLE

Tras el último cambio en la política de seguridad de Google, ya no es posible enviar los emails si no se usa una autenticación de tipo OAuth. Por tanto, debemos cambiar nuestra cuenta para que use una política de seguridad de acceso menos segura. Os recomiendo hacer esto con una cuenta de gmail nueva que tengáis en exclusiva para el envio de emails, no lo hagais con cuestra cuenta personal. El mensaje de Gmail y el link para cambiar la seguridad es el siguiente:

Gmail has recently started blocking emails from senders that do not authenticate using OAuth. To allow SSMTP to use gmail's SMTP server, you need to allow access to unsecure apps.

Una vez hecho este cambio ya podremos enviar los emails desde SSMTP.

 

 

5.- COMPROBAR EL ENVIO DE EMAILS

Para enviar un email podemos hacerlo de la siguiente forma:

# echo "Aquí el mensaje" | mail -s "Aquí el asunto" email_destino

 

 

6.- PEQUEÑO SCRIPT DE ENVIO DE ALARMA

A modo de ejemplo, os pongo un pequeño Script que comprueba si la ocupación del sistema /raíz supera el valor de 75%. Si este valor es superado, se envia un email avisando de dicha problema. El script hay que ponerlo en el CRON y programarlo cada X tiempo, pero existe un problema. Si lo lanzamos cada 5 minutos y el umbral es > de 75%, nos llegará un email cada 5 minutos, haciendo que sea muy molesto y posiblemente Google nos termine bloqueando la cuenta. Para ello, el CRON lo lanzaremos cada 5 minutos pero pondremos un pequeño contador en el Script de bash que compruebe si el email se ha enviado con anterioridad ( por ejemplo 6 horas ). De esta forma evitamos el SPAM. Os dejo a vuestro gusto la creación de Scripts y alarmas personalizadas:

El CRON quedará de la siguiente forma:

*/5 * * * *   /scripts/alarmas.sh

Y el contenido del Script es:

#!/bin/bash
USAGE_ROOT=`df -h / | awk '{print $5}' | tail -n 1 | cut -f1 -d "%"`
EMAIL="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo."
NOW=`date +%s`
LAST_MAIL="/tmp/alarmas_emails.log"

if [ ! -f $LAST_MAIL ];
then
touch $LAST_MAIL
fi

if [ "$USAGE_ROOT" -gt "75" ];
then
let DIF=$NOW-`cat $LAST_MAIL`
if [ $DIF -gt 21600 ]; #6 horas
then
echo "El porcentaje de uso del directorio / ha superado el umbral de 50%. Actualmente su valor es de $USAGE_ROOT" | mail -s "El umbral de / ha sido superado: $USAGE_ROOT%" $EMAIL
echo $NOW > /tmp/alarmas_emails.log
fi
fi

El email llega de la siguiente forma a nuestro correo de Gmail:

SSMTP

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
AVISO DE COOKIES

Esta página web utiliza cookies propias y de terceros para fines funcionales (permitir la navegación web), para optimizar la navegación y personalizarla según tus preferencias asícomo para mostrarte publicidad en base a tu perfil de navegación (p.e páginas visitadas).

Privacidad