--- title: Hyvor Relay created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, email, smtp, transactional] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/hyvor/relay] --- # đŸ’» Hyvor Relay > **Service de mailing transactionnel open source** — envoyez vos emails applicatifs (magic links, receipts, notifications) via SMTP ou API HTTP, en self-hosted, comme alternative Ă  Postmark, SendGrid et Amazon SES. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | [relay.hyvor.com](https://relay.hyvor.com/) | | **GitHub** | [hyvor/relay](https://github.com/hyvor/relay) | | **License** | AGPL-3.0 | | **Langage** | PHP (Laravel) | | **Étoiles GitHub** | 623 ⭐ | | **CatĂ©gorie** | Development, Email Transactionnel | | **RĂ©fĂ©rence** | [selfh.st Development](https://selfh.st/apps/?tag=Development) | ## 📝 Description **Hyvor Relay** est un **service de mailing transactionnel self-hosted** qui permet d'envoyer des emails applicatifs (confirmations, magic links, notifications, receipts, OTP) via **SMTP** (port 1025) ou **API HTTP REST**. C'est la **rĂ©ponse open source Ă  Postmark, SendGrid et Amazon SES** : contrĂŽle total des donnĂ©es, de la dĂ©livrabilitĂ© et des mĂ©triques, sans SaaS tiers. DĂ©veloppĂ© par **Hyvor** (Ă©diteur de Hyvor Talk, Hyvor Blogs), Relay mise sur la **simplicitĂ© radicale** : un binaire PHP, une interface web claire, le strict nĂ©cessaire (pas de marketing automation ni de templates drag&drop). Il fait **une seule chose, bien** : router vos emails vers un provider sortant (SES, Postmark, Mailgun, SMTP gĂ©nĂ©rique) avec **fallback automatique**. Pour les **indie hackers et SaaS self-hosted**, Relay rĂ©sout le casse-tĂȘte « j'ai une app Laravel, je veux envoyer 10 000 emails/mois, je ne veux pas de Postmark Ă  15 $/mois et je ne veux pas que Google voie mes emails ». Il suffit de pointer `MAIL_HOST` vers Relay (port 1025) ou d'utiliser l'API REST avec une clĂ©. FonctionnalitĂ©s : **multi-providers avec fallback**, **DKIM/SPF/DMARC assistĂ©s**, **webhooks** de bounce/spam, **templates** avec variables, **statistiques** (delivered, opened, clicked), **suppression list** auto, **multi-tenants** par clĂ© API scopĂ©e, **queue Laravel** interne (Redis ou DB). ## 🚀 Installation ### Via Docker (recommandĂ©) ```yaml # docker-compose.yml version: '3.8' services: relay: image: hyvor/relay:latest container_name: hyvor-relay restart: unless-stopped ports: - "1025:1025" # SMTP - "8080:8080" # Console web environment: APP_URL: "https://relay.example.com" DB_HOST: db DB_DATABASE: relay DB_USERNAME: relay DB_PASSWORD: ***changeme*** REDIS_HOST: redis MAIL_FROM_ADDRESS: "noreply@example.com" PROVIDER_TYPE: "ses" # ses | postmark | mailgun | smtp SES_KEY: "***" SES_SECRET: "***" SES_REGION: "eu-west-1" volumes: - relay_data:/var/www/html/storage depends_on: [db, redis] labels: - "traefik.enable=true" - "traefik.http.routers.relay.rule=Host(`relay.example.com`)" - "traefik.http.routers.relay.tls.certresolver=letsencrypt" db: image: mysql:8 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ***rootpass*** MYSQL_DATABASE: relay MYSQL_USER: relay MYSQL_PASSWORD: ***changeme*** volumes: - relay_db:/var/lib/mysql redis: image: redis:7-alpine restart: unless-stopped volumes: relay_data: relay_db: ``` ### Installation manuelle ```bash git clone https://github.com/hyvor/relay.git cd relay composer install --no-dev cp .env.example .env php artisan key:generate php artisan migrate --seed php artisan serve ``` ## ⚙ Configuration 1. **Provider sortant** (SES, Postmark, Mailgun, SMTP) — Relay relaie vers un provider avec IP dĂ©diĂ©e, il n'envoie pas directement. 2. **Domaine** : console > Domains > copier les enregistrements DNS (DKIM, SPF, DMARC, MX retour). 3. **API key scopĂ©e** par domaine via `console > API Keys`. 4. **Laravel** : `MAIL_MAILER=smtp`, `MAIL_HOST=relay.example.com`, `MAIL_PORT=1025`, `MAIL_USERNAME=`. 5. **Webhooks** : URL de bounce/spam Ă  configurer sur le provider pour que Relay reçoive les notifications. ## 🔗 Alternatives - **Postmark** — RĂ©fĂ©rence du marchĂ©, excellent tracking, cloud uniquement et payant. - **SendGrid** — GĂ©ant du transactionnel, plan gratuit 100/jour, politique de contenu stricte. - **Amazon SES** — Le moins cher, mais vendor lock-in AWS. - **Postal** — Serveur mail open source, plus complet (newsletters) mais plus complexe. ## 🔒 SĂ©curitĂ© - 🔐 **HTTPS obligatoire** via [[app-traefik]] : les credentials SMTP et l'API key transitent en clair sinon. - 🔒 **API keys scopĂ©es** : une clĂ© par app/domaine, jamais une clĂ© « admin » cĂŽtĂ© applicatif. - đŸ›Ąïž **DKIM/SPF/DMARC corrects** : sans DNS bien configurĂ©, vos emails tombent en spam (vĂ©rifier sur mail-tester.com). - đŸ›Ąïž **Rate limiting** par clĂ© API activĂ© pour Ă©viter qu'un bug n'envoie 100 000 mails. - đŸ›Ąïž **RĂ©tention des logs** d'email (30/90 j) pour la conformitĂ© RGPD. ## 📚 Ressources - [Site officiel Hyvor Relay](https://relay.hyvor.com/) - [Documentation](https://relay.hyvor.com/docs) - [GitHub hyvor/relay](https://github.com/hyvor/relay) - [Selfh.st — Development](https://selfh.st/apps/?tag=Development) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-supabase]] — BaaS qui peut s'appuyer sur Relay pour SMTP sortant - [[app-traefik]] — Reverse proxy HTTPS - [[securisation-home-lab]] — Bonnes pratiques de sĂ©curitĂ© - [[recettes-docker-compose]] — Templates Docker Compose