Cómo enviar notificaciones por correo directamente a Telegram con smtp_to_telegram

Un servidor SMTP minimalista para reenviar emails a tu bot de Telegram. Perfecto para alertas automáticas, logs y sistemas sin integración nativa.

En entornos donde las notificaciones son críticas —como servidores, sistemas de monitorización o CI/CD—, tener una forma directa y eficaz de recibir alertas en tiempo real puede marcar la diferencia. Si bien muchos sistemas generan alertas por email, redirigir esos correos directamente a Telegram puede simplificar mucho el flujo de trabajo.

Aquí es donde entra en juego smtp_to_telegram, una herramienta open source escrita en Go, ligera y fácil de desplegar vía Docker.

¿Qué es smtp_to_telegram?

Es un pequeño servidor SMTP que escucha correos entrantes y los reenvía directamente a uno o varios chats de Telegram mediante un bot. Puedes usarlo como servidor SMTP de salida en cualquier software que solo sepa enviar notificaciones por correo, sin necesidad de modificar código ni depender de complejas integraciones.

Casos de uso comunes

  • Notificaciones de backups o cron jobs.
  • Alertas de Prometheus o Zabbix sin configurar webhooks.
  • Resultados de pruebas en pipelines CI/CD.
  • Logs o mensajes de scripts en servidores remotos.
  • Mensajes desde formularios de contacto autoalojados.

Cómo empezar en 5 pasos

  1. Crea un bot de Telegram
    Visita @BotFather, crea un nuevo bot y guarda el BOT_TOKEN.
  2. Activa el bot en tu cuenta
    Abre el chat del bot en Telegram y pulsa /start para autorizarlo.
  3. Obtén tu chat_id
    Ejecuta: curl https://api.telegram.org/bot<BOT_TOKEN>/getUpdates Busca el chat.id dentro de la respuesta JSON.
  4. Lanza el contenedor Docker
    Sustituye las variables por tus datos: docker run --name smtp_to_telegram \ -e ST_TELEGRAM_CHAT_IDS=<CHAT_ID1>,<CHAT_ID2> \ -e ST_TELEGRAM_BOT_TOKEN=<BOT_TOKEN> \ -p 2525:2525 \ kostyaesmukov/smtp_to_telegram
  5. Configura tu software para enviar emails a smtp_to_telegram:2525
    • Sin TLS.
    • Sin autenticación.
    • Todo lo que envíe lo verás directamente en Telegram.

Personalización del mensaje

Puedes modificar el formato del mensaje con la variable ST_TELEGRAM_MESSAGE_TEMPLATE. Por ejemplo:

-e ST_TELEGRAM_MESSAGE_TEMPLATE="🚨 {subject}\n\n{body}"

Variables disponibles:

  • {from}
  • {to}
  • {subject}
  • {body}
  • {attachments_details}

Integración en sistemas dockerizados

Si ya tienes tus servicios en Docker (como una app Laravel, Node.js, cronjobs, etc.), puedes usar smtp_to_telegram como su servidor SMTP local. Simplemente apunta el envío a smtp_to_telegram:2525 dentro de tu red de Docker Compose.

¿Por qué usar esta herramienta?

  • Ligera: una sola binary sin dependencias pesadas.
  • No requiere TLS ni configuración complicada.
  • Ideal para entornos cerrados o air-gapped.
  • Evita configurar sistemas de email externos.
  • Mensajería instantánea directamente en tu móvil vía Telegram.

Limitaciones y consideraciones

  • No almacena mensajes: si Telegram falla, puedes perder alertas (aunque desde 2025 incluye mejoras ante caídas).
  • No cifra los mensajes SMTP: úsalo solo en redes internas o tras un proxy seguro.
  • No admite múltiples cuentas de correo saliente.

Conclusión

smtp_to_telegram es una de esas herramientas simples pero potentes que pueden transformar cómo gestionas alertas y flujos de trabajo. Es perfecta para desarrolladores, administradores de sistemas y makers que valoran la eficiencia y la inmediatez. Y lo mejor: es open source, con licencia MIT y fácilmente extensible si necesitas más funcionalidades.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×