Initial vault setup
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
---
|
||||
title: Postal
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, email, smtp, docker, ruby, auto-hebergement]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Email, https://github.com/postalserver/postal]
|
||||
---
|
||||
|
||||
# 📧 Postal
|
||||
|
||||
> Serveur SMTP open source conçu pour **l'envoi d'emails transactionnels et marketing à grande échelle**, avec webmail et API REST intégrée.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [postal.atech.media](https://postal.atech.media) |
|
||||
| **GitHub** | [postalserver/postal](https://github.com/postalserver/postal) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Ruby |
|
||||
| **Étoiles GitHub** | 16 592 ⭐ |
|
||||
| **Catégorie** | [[cat-email\|Email]] |
|
||||
| **Mainteneur** | Atech Media (communautaire) |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Postal** est un serveur SMTP complet développé initialement par **Atech Media** pour ses propres besoins d'envoi massif (notifications, marketing). Il se positionne comme une alternative open source à **SendGrid**, **Mailgun** ou **Amazon SES** : une stack que l'on peut auto-héberger.
|
||||
|
||||
**Forces** :
|
||||
- **Web UI complète** pour gérer domaines, expéditeurs, routes, webhooks, bounces
|
||||
- **API REST** complète pour l'envoi programmatique
|
||||
- **Multi-domaine** natif (plusieurs organisations, pools IP)
|
||||
- **Tracking** des ouvertures, clics, bounces, complaints
|
||||
- **File de messages** robuste avec retry automatique
|
||||
|
||||
**Faiblesses** :
|
||||
- Moins riche qu'un SendGrid (pas de templates visuels drag-and-drop)
|
||||
- Nécessite de **gérer soi-même la réputation IP** (rDNS, SPF, DKIM, DMARC)
|
||||
- Pas de webmail entrant (uniquement sortant) — pour lire les emails reçus, il faut un autre serveur (IMAP)
|
||||
|
||||
**Contexte** : Le projet est un fork/community-continuation de `atechmedia/postal`, qui était le repo d'origine. Il a été activement maintenu, bien que le rythme ait ralenti ces dernières années. Il reste une option solide pour l'envoi.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
postal:
|
||||
image: ghcr.io/postalserver/postal:latest
|
||||
container_name: postal
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTAL_HOSTNAME=postal.example.com
|
||||
- POSTAL_PROTOCOL=https
|
||||
volumes:
|
||||
- postal-data:/opt/postal/data
|
||||
ports:
|
||||
- "25:25" # SMTP
|
||||
- "587:587" # Submission
|
||||
- "465:465" # SMTPS
|
||||
depends_on:
|
||||
- mysql
|
||||
- redis
|
||||
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: postal-mysql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: change-me-root
|
||||
MYSQL_DATABASE: postal
|
||||
MYSQL_USER: postal
|
||||
MYSQL_PASSWORD: change-me-user
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: postal-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
postal-data:
|
||||
mysql-data:
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
|
||||
L'installation manuelle est documentée sur le repo : Ruby >= 3.0, MySQL/MariaDB, RabbitMQ ou Redis, Node.js pour les assets. Le helper `postal bootstrap` initialise la base et crée le premier admin.
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
1. **DNS** : Pointer un enregistrement A vers le serveur, créer un MX, configurer SPF/DKIM/DMARC pour chaque domaine expéditeur
|
||||
2. **Reverse DNS (rDNS)** : Indispensable pour que les mails arrivent en Inbox — demander à l'hébergeur ou le configurer sur le VPS
|
||||
3. **Certificat TLS** : Utiliser Let's Encrypt (ex. via Traefik ou Caddy en frontal)
|
||||
4. **Credentials SMTP** : Créer des credentials via la web UI pour chaque application tierce
|
||||
5. **Monitoring** : Connecter les webhooks Postal à Slack/Mattermost pour suivre bounces
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **[app-mailcow](app-mailcow)** — Suite mail complète (entrant + sortant + webmail)
|
||||
- **[app-mailu](app-mailu)** — Plus simple, full-stack entrant/sortant
|
||||
- **SendGrid / Mailgun / Amazon SES** — Services managés, pas d'auto-hébergé
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **Authentification SMTP** obligatoire avec mots de passe dédiés par application
|
||||
- **SPF/DKIM/DMARC** strictement requis pour chaque domaine expéditeur
|
||||
- **Webhooks signés** pour vérifier l'origine des callbacks (bounces, complaints)
|
||||
- **Web UI derrière HTTPS** avec auth 2FA recommandée
|
||||
- **Fail2ban** sur le port 25/587 contre le brute-force de credentials
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Documentation officielle](https://postal.atech.media)
|
||||
- [GitHub postalserver/postal](https://github.com/postalserver/postal)
|
||||
- [Wiki et guides](https://github.com/postalserver/postal/wiki)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-email]] — Toutes les apps Email du catalogue
|
||||
- [[app-mailcow]] — Alternative plus complète (entrant + sortant)
|
||||
- [[app-mailu]] — Plus simple à déployer
|
||||
- [[app-stalwart]] — Serveur mail moderne en Rust
|
||||
- [[securisation-home-lab]] — Sécuriser un serveur mail
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user