>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
PHP

Comment déployer votre propre service d'e-mail temporaire en quelques minutes

Quiconque a déjà testé l'inscription utilisateur ou la réinitialisation de mot de passe dans des applications web connaît cette galère. Les services populaires d'e-mail jetable comme TempMail sont bourrés de publicités, leurs domaines sont depuis longtemps sur liste noire des validateurs, et les boîtes de test personnelles sur Gmail tournent rapidement au chaos.

Récemment, je suis tombé sur un projet intéressant appelé TempFastMail du développeur kasteckis. C'est un service d'e-mail temporaire auto-hébergé et léger que vous pouvez mettre en place sur votre propre domaine avec littéralement une seule commande docker compose.

Temp Fast Mail frontpage photo

Pourquoi héberger son propre service d'e-mail temporaire

Les boîtes de réception jetables publiques sont pratiques jusqu'à ce que vous rencontriez leurs limites. Premièrement, les services tiers peuvent voir les e-mails entrants avec tous les liens de confirmation et jetons. Deuxièmement, de nombreux sites bloquent les adresses des domaines d'e-mail temporaire connus.

Une instance personnelle résout ces deux problèmes :

  • Vous utilisez n'importe quel domaine personnel qui n'est inscrit nulle part dans les bases de données anti-spam.
  • Tous les messages entrants restent sous votre contrôle.
  • Pas de captchas, de bannières publicitaires ou de trackers tiers.
  • Les e-mails sont automatiquement supprimés après 48 heures, donc la base de données ne grossit pas.

Comment fonctionne l'architecture

Sous le capot, le projet utilise une stack moderne : le backend PHP (d'après les tags du dépôt, c'est Symfony) fonctionne via FrankenPHP, utilise SQLite comme base de données, et le frontend est construit avec React.

Le détail le plus intéressant ici est la façon dont l'auteur a résolu le problème de réception des e-mails entrants. Configurer un serveur SMTP complet comme Postfix et paramétrer les enregistrements MX devient un casse-tête pour beaucoup. TempFastMail utilise Cloudflare Email Routing et un Cloudflare Worker gratuit. Un e-mail arrive sur le domaine, Cloudflare l'intercepte et appelle l'API HTTP de votre instance. Simple, fiable, et ne nécessite pas d'ouvrir le port 25 sur le serveur.

Démarrage rapide

Pour commencer, vous avez besoin d'un serveur avec Docker installé et d'un domaine délégué à Cloudflare.

Créez le fichier 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

Après cela, vous devez simplement configurer le worker gratuit dans le tableau de bord Cloudflare en suivant les instructions du dépôt et le lier à votre conteneur via un jeton d'authentification. Une fois lancé, l'interface web est accessible dans le navigateur. Vous pouvez gérer les e-mails et nettoyer manuellement la base de données via le panneau d'administration avec le login par défaut [email protected].

Points à garder à l'esprit

Le README dans le dépôt est encore succinct, et le projet n'a pas beaucoup d'étoiles, donc quelques imperfections sont possibles. Comme SQLite est utilisé comme stockage, le service est clairement conçu pour un usage personnel ou une petite équipe de testeurs, pas pour des milliers d'utilisateurs simultanés.

Pour les tâches QA locales, l'automatisation des tests et la protection anti-spam personnelle, c'est une trouvaille intéressante qui vous épargne la gestion de serveurs de messagerie complexes.

Projets similaires