>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
PHP

Cómo desplegar tu propio servicio de correo electrónico temporal en un par de minutos

Cualquiera que haya probado el registro de usuarios o el restablecimiento de contraseña en aplicaciones web conoce este dolor. Los servicios populares de correo electrónico desechable como TempMail están llenos de anuncios, sus dominios están desde hace mucho tiempo en listas negras de validadores, y los buzones personales de prueba en Gmail se convierten rápidamente en un desastre.

Hace poco me encontré con un proyecto interesante llamado TempFastMail del desarrollador kasteckis. Es un servicio de correo electrónico temporal autohospedado y ligero que puedes poner en marcha en tu propio dominio literalmente con un solo comando docker compose.

Foto de la página principal de Temp Fast Mail

Por qué usar tu propio servicio de correo electrónico temporal

Los buzones públicos desechables son convenientes hasta que te encuentras con limitaciones. Primero, los servicios de terceros pueden ver los correos electrónicos entrantes con todos los enlaces de confirmación y tokens. Segundo, muchos sitios bloquean direcciones de dominios de correo electrónico temporal conocidos.

Una instancia personal resuelve ambos problemas:

  • Adjuntas cualquier dominio personal que no esté incluido en ninguna base de datos de spam.
  • Todos los mensajes entrantes permanecen bajo tu control.
  • Sin captchas, banners publicitarios ni rastreadores de terceros.
  • Los correos electrónicos se eliminan automáticamente después de 48 horas, por lo que la base de datos no crece.

Cómo funciona la arquitectura

Bajo el capó, el proyecto utiliza una pila moderna: backend en PHP (según las etiquetas del repositorio, es Symfony) se ejecuta a través de FrankenPHP, usa SQLite como base de datos, y el frontend está construido con React.

El detalle más interesante aquí es cómo el autor resolvió el problema de recibir correos electrónicos entrantes. Configurar un servidor SMTP completo como Postfix y configurar registros MX se convierte en un dolor de cabeza para muchas personas. TempFastMail utiliza Cloudflare Email Routing y un Cloudflare Worker gratuito. Un correo electrónico llega al dominio, Cloudflare lo intercepta y llama a la API HTTP de tu instancia. Simple, confiable y no requiere abrir el puerto 25 en el servidor.

Inicio rápido

Para comenzar, necesitas un servidor con Docker instalado y un dominio delegado a Cloudflare.

Crea el archivo docker-compose.yml:

services:
  tempfastmail:
    container_name: tempfastmail
    image: kasteckis/tempfastmail:latest
    environment:
      CREATE_RECEIVED_EMAIL_API_AUTHORIZATION_KEY: your-secret-api-token
      DEFAULT_URI: https://yourdomain.com
    ports:
      - "80:80"
    volumes:
      - ./sqlite:/app/sqlite

Después de eso, solo necesitas configurar el worker gratuito en el panel de Cloudflare siguiendo las instrucciones del repositorio y vincularlo a tu contenedor a través de un token de autenticación. Una vez en ejecución, la interfaz web es accesible en el navegador. Puedes gestionar correos electrónicos y limpiar manualmente la base de datos a través del panel de administración usando el inicio de sesión predeterminado [email protected].

Aspectos a tener en cuenta

El README en el repositorio todavía es breve, y el proyecto no tiene muchas estrellas, por lo que son posibles pequeñas imperfecciones. Dado que se usa SQLite como almacenamiento, el servicio está claramente diseñado para uso personal o un pequeño equipo de probadores, no para miles de usuarios concurrentes.

Para tareas locales de control de calidad, automatización de pruebas y protección contra spam personal, es un gran hallazgo que te evita tener que lidiar con servidores de correo complejos.

Proyectos relacionados