¿cuanta gente a visto el blog?

Enviando correos electrónicos con Bash y SSMTP


SSMTP es una herramienta que envía correos electrónicos desde una computadora o un servidor a un host de correo configurado.
SSMTP no es un servidor de correo en sí y no recibe correos electrónicos ni gestiona una cola.
Uno de sus usos principales es reenviar correos electrónicos automatizados (como alertas del sistema) desde tu máquina a una dirección de correo electrónico externa.

Requisitos previos
Necesitarás lo siguiente para completar este tutorial con éxito:

  • Acceso a un servidor Ubuntu 18.04 como un usuario no root con privilegios de sudo y un firewall activo instalado en tu servidor. Para configurarlos, consulta nuestra Guía de Configuración Inicial del Servidor para Ubuntu 18.04.
  • Un servidor SMTP junto con nombre de usuario y contraseña de SMTP; esto también funcionaría con el servidor SMTP de Gmail, o podrías configurar tu propio servidor SMTP siguiendo los pasos de este tutorial en DigitalOcean.

Instalando SSMTP
Para instalar SSMTP, primero necesitarás actualizar tu caché de apt con:
sudo apt update
Luego ejecuta el siguiente comando para instalar SSMTP:
sudo apt install ssmtp
Otra cosa que necesitarás instalar es mailutils; para hacerlo, ejecuta:
sudo apt install mailutils

Configurando SSMTP
Ahora que tienes ssmtp instalado, para configurarlo y usar tu servidor SMTP al enviar correos electrónicos, necesitas editar el archivo de configuración de SSMTP.
Usando tu editor de texto favorito, abre el archivo /etc/ssmtp/ssmtp.conf:
sudo nano /etc/ssmtp/ssmtp.conf
Debes incluir tu configuración SMTP:

root=postmaster mailhub=tu_smtp_host.com:587 hostname=tu_hostname AuthUser=tu_gmail_username@tu_smtp_host.com AuthPass=tu_gmail_password FromLineOverride=YES UseSTARTTLS=YES

Guarda el archivo y sal.

Enviando correos electrónicos con SSMTP
Una vez que tu configuración esté lista, para enviar un correo electrónico solo ejecuta el siguiente comando:
echo "Aquí añade el cuerpo de tu correo" | mail -s "Aquí especifica el asunto de tu correo" tu_recepient_email@tu_dominio.com
Puedes ejecutar esto directamente en tu terminal o incluirlo en tus scripts bash.

Enviando un archivo con SSMTP (opcional)
Si necesitas enviar archivos como adjuntos, puedes usar mpack.
Para instalar mpack, ejecuta el siguiente comando:
sudo apt install mpack
A continuación, para enviar un correo electrónico con un archivo adjunto, ejecuta el siguiente comando:
mpack -s "Tu Asunto aquí" tu_archivo.zip tu_recepient_email@tu_dominio.com
El comando anterior enviará un correo electrónico a tu_recepient_email@tu_dominio.com con tu_archivo.zip adjunto.

Conclusión
SSMTP es una forma excelente y confiable de implementar funcionalidad de correo electrónico SMTP directamente en scripts bash.
Para más información sobre SSMTP, te recomendaría consultar la documentación oficial aquí.
Nota: Este contenido fue publicado inicialmente en el foro de la comunidad de DigitalOcean.

No hay comentarios.:

Publicar un comentario