Red de conocimiento informático - Material del sitio web - Cómo enviar notificaciones por correo electrónico utilizando el servidor SMTP de Gmail en Linux

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 con su ID de Gmail. Tenga en cuenta que esta configuración es sólo para enviar correos electrónicos (no para recibir correos electrónicos).

$ vi ~/.muttrc

set from = "@gmail.com" set realname = "Dan Nanni" set smtp_url = "smtp://< gmail-id>@smtp.gmail.com:587/"set smtp_pass = ""

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 "" contraseña ""

usando tlsv12

establecer el formato de correo {

desde: @gmail.com

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.