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
- Crea un bot de Telegram
Visita @BotFather, crea un nuevo bot y guarda elBOT_TOKEN
. - Activa el bot en tu cuenta
Abre el chat del bot en Telegram y pulsa/start
para autorizarlo. - Obtén tu
chat_id
Ejecuta:curl https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
Busca elchat.id
dentro de la respuesta JSON. - 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
- 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.