Cómo enviar notificaciones por correo electrónico utilizando el servidor SMTP de Gmail en Linux
Supongamos que desea configurar una aplicación Linux para enviar mensajes de correo electrónico desde su servidor o cliente de escritorio. Los mensajes de correo electrónico pueden ser boletines informativos por correo electrónico, actualizaciones de estado (como Cachet), alertas de monitoreo (como Monit), tiempos de disco (como RAID mdadm), etc. Cuando desee configurar su propio servidor de envío de correo para entregar mensajes, puede utilizar un servidor SMTP público gratuito para evitar sufrir las molestias del mantenimiento.
El servicio Gmail de Google es uno de los servidores SMTP gratuitos más fiables. Para enviar notificaciones por correo electrónico desde la aplicación, simplemente agregue la dirección del servidor SMTP de Gmail y sus credenciales a la aplicación.
Usando SMTP de Gmail
El servidor encontrará algunas limitaciones. Estas limitaciones se utilizan principalmente para detener a quienes a menudo abusan del servidor para enviar spam y utilizar marketing por correo electrónico. Por ejemplo, solo puedes enviar mensajes a hasta 100
direcciones a la vez y no puedes tener más de 500
destinatarios en un día. Del mismo modo, si no desea que lo marquen como spammer, no puede enviar demasiados correos electrónicos que no se puedan entregar. Cuando alcance cualquiera de los límites, su cuenta de Gmail se bloqueará temporalmente durante un día. En resumen, el servidor SMTP de Gmail es excelente para su uso personal, pero no es adecuado para el correo masivo empresarial.
Dicho todo esto, es hora de mostrarte cómo utilizar el servidor SMTP de Gmail en un entorno Linux.
Configuración del servidor SMTP de Google Gmail
Si desea utilizar el servidor SMTP de Gmail para enviar correos electrónicos desde su aplicación, tenga en cuenta las instrucciones detalladas a continuación.
Servidor de correo saliente (servidor SMTP): smtp.gmail.com
Usar autenticación: Sí
Usar conexión segura: Sí
Nombre de usuario: ID de su cuenta de Gmail (como "alice", si su correo electrónico es alice@gmail.com)
Contraseña: su contraseña de Gmail
Puerto: 587
p >La configuración exacta variará dependiendo de la aplicación. En el resto de este tutorial, le mostraré algunos ejemplos de aplicaciones que utilizan el servidor SMTP de Gmail en Linux.
Enviar un correo electrónico desde la línea de comandos
Como primer ejemplo, probemos la funcionalidad de correo electrónico más básica: enviar un correo electrónico desde la línea de comandos utilizando el servidor SMTP de Gmail. Para hacer esto, usaré un cliente de correo de línea de comando llamado mutt.
Instale mutt primero:
Para sistemas basados en Debian:
$ sudo apt-get install mutt
Para sistemas basados en Red Hat :
$ sudo yum install mutt
Cree un archivo de configuración mutt (~/.muttrc) y especifique la información del servidor SMTP de Gmail en el archivo como se muestra a continuación. Reemplace
$ vi ~/.muttrc
set from = "
Todo está listo, usa mutt para enviar un correo electrónico:
$ echo "Este es el cuerpo de un correo electrónico." | mutt -s "Este es un asunto de correo electrónico" alice@yahoo.com
Para agregar archivos adjuntos a un correo electrónico, use la opción "-a"
$ echo "Este es el cuerpo de un correo electrónico." | mutt -s "Este es un asunto de correo electrónico" alice@yahoo.com -a ~/test_attachment.jpg
Usar el servidor SMTP de Gmail significa que correo electrónico Parecerá que fue enviado desde su cuenta de Gmail. En otras palabras, el destinatario verá su dirección de Gmail como la dirección del remitente. Si desea utilizar su propio nombre de dominio como remitente del correo electrónico, debe utilizar el servicio de reenvío SMTP de Gmail.
Enviar notificación por correo electrónico cuando el servidor se reinicie
Si ejecuta algunos sitios web importantes en un servidor privado virtual (VPS)
, se recomienda monitorear el reinicio del comportamiento del VPS. Como ejemplo más práctico, veamos cómo configurar notificaciones por correo electrónico para cada evento de reinicio en su VPS
. Este artículo asume que está utilizando systemd en su VPS y le muestra cómo crear un servicio de inicio de systemd personalizado para notificaciones automáticas por correo electrónico.
Primero cree el siguiente script reboot_notify.sh, que es responsable de la notificación por correo electrónico.
$ sudo vi /usr/local/bin/reboot_notify.sh
#!/bin/sh
echo "`hostname` se reinició el `date `" | mutt -F /etc/muttrc -s "Notificación en `nombre de host`" alice@yahoo.com
$ sudo chmod +x /usr/local/bin/reboot_notify.sh
En este script, uso la opción "-F" para especificar la ubicación del archivo de configuración de mutt en todo el sistema. Así que no olvide crear el archivo /etc/muttrc y completar la información SMTP de Gmail como se describió anteriormente.
Ahora creemos un servicio systemd personalizado de la siguiente manera.
$ sudo mkdir -p /usr/local/lib/systemd/system$ sudo vi /usr/local/lib/systemd/system/reboot-task.service
[Unidad ]
Description=Enviar un correo electrónico de notificación cuando el servidor se reinicie
DefaultDependencies=no
Before=reboot.target
[Servicio ]
Tipo=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh
[Instalar]
WantedBy=reiniciar .target
Después de crear el servicio, agréguelo e inícielo.
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task
A partir de ahora recibirás un email de notificación cada vez que se reinicie el VPS.
Envío de notificaciones por correo electrónico a través del monitoreo del uso del servidor
Como ejemplo final, permítanme mostrarles una aplicación de la vida real, Monit, que es una aplicación de monitoreo de servidores extremadamente útil. Viene con capacidades integrales de monitoreo de VPS (como CPU, memoria, procesos, sistemas de archivos) y notificaciones por correo electrónico.
Si desea recibir notificaciones por correo electrónico de cualquier evento generado por Monit en su VPS, puede agregar la siguiente información SMTP en el archivo de configuración de Monit.
configurar el servidor de correo smtp.gmail.com puerto 587
nombre de usuario "
usando tlsv12
establecer el formato de correo {
desde:
asunto: $SERVICE $EVENT en $DATE el $ Mensaje de HOST
: Monit $ACTION $SERVICE $EVENT en $DATE el $HOST : $DESCRIPTION.
Atentamente,
Monit
}
# la persona que recibirá los correos electrónicos de notificación
establece alerta alice@yahoo.com
Este es un mensaje enviado por Monit debido a una sobrecarga de CPU Ejemplo de notificación por correo electrónico.