Files
wiki/Catalogue-Self-Hosted/apps/app-snappymail.md
T
2026-06-09 18:40:21 +02:00

125 lines
4.8 KiB
Markdown

---
title: SnappyMail
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, email, webmail, php, imap]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Email, https://github.com/the-djmaze/snappymail]
---
# 📧 SnappyMail
> **Fork moderne et activement maintenu de RainLoop** : webmail PHP ultra-léger, interface réactive, support PGP et 2FA — le successeur naturel de RainLoop pour qui veut un webmail simple et rapide.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [snappymail.eu](https://www.snappymail.eu) |
| **GitHub** | [the-djmaze/snappymail](https://github.com/the-djmaze/snappymail) |
| **License** | AGPL-3.0 |
| **Langage** | PHP (backend) + JavaScript (UI) |
| **Étoiles GitHub** | 1 619 ⭐ |
| **Catégorie** | [[cat-email\|Email]] |
| **Mainteneur** | the-djmaze (fork de RainLoop) |
## 📝 Description
**SnappyMail** est né en **2020** quand le développement de **RainLoop** a ralenti. C'est un **fork moderne** qui conserve la philosophie "webmail PHP léger" tout en ajoutant le support **PGP, 2FA, thèmes sombres** et une UI plus réactive.
**Fonctionnalités** :
- **Lecture/écriture** IMAP/SMTP, support IDLE (push mail en temps réel)
- **Chiffrement PGP** intégré (via OpenPGP.js)
- **2FA** : TOTP (Google Authenticator, etc.) côté interface admin
- **Multi-comptes** : bascule entre plusieurs boîtes sans se reconnecter
- **Thèmes** : sombre, clair, personnalisables (CSS)
- **Carnet d'adresses** : local ou LDAP
- **Filtres Sieve** : création de règles côté serveur
- **Pièces jointes** : prévisualisation inline, drag-and-drop, cloud (Dropbox, Google Drive)
- **Pas de base de données requise** : SQLite par défaut, ultra-léger
**Forces** :
- **Empreinte minimale** : ~5 Mo, démarre en quelques secondes
- **Pas de DB obligatoire** : SQLite suffit (idéal pour petits déploiements)
- **Interface moderne** : responsive, fonctionne bien sur mobile
- **Fork actif** : mises à jour de sécurité régulières
- **Compatible** avec tous serveurs IMAP (Dovecot, Stalwart, mailcow, etc.)
**Faiblesses** :
- **Pas de calendrier natif** (pas l'objectif)
- **Communauté plus petite** que Roundcube (moins de plugins tiers)
- **Pas de bundle complet** : nécessite un serveur IMAP derrière
- **Documentation** moins exhaustive que Roundcube
## 🚀 Installation
### Via Docker
```yaml
# docker-compose.yml
version: '3.8'
services:
snappymail:
image: djmaze/snappymail:latest
container_name: snappymail
restart: unless-stopped
environment:
- SNAPPYMAIL_URL=http://localhost:8888
volumes:
- ./data:/snappymail/data
ports:
- "8888:8888"
```
### Installation manuelle
```bash
# Prérequis : PHP 8.1+, extensions : dom, gd, iconv, json, libxml, mbstring, xml, zip
git clone https://github.com/the-djmaze/snappymail.git
mv snappymail /var/www/snappymail
chown -R www-data:www-data /var/www/snappymail
# Vhost Apache/Nginx pointant sur /var/www/snappymail
# Accéder à /admin pour l'install
```
## ⚙️ Configuration
1. **Connexion IMAP/SMTP** : pointer vers le serveur existant (Dovecot, Stalwart, etc.)
2. **Domaine autorisé** : définir `APP_ALLOWED_DOMAINS` pour restreindre les logins
3. **Stockage** : SQLite par défaut, ou MySQL/PostgreSQL pour scaler
4. **2FA** : activable par utilisateur depuis l'admin
5. **PGP** : OpenPGP.js intégré, aucune config serveur (chiffrement côté client)
## 🔗 Alternatives
- **[Roundcube](https://roundcube.net)** — Webmail PHP historique, écosystème de plugins plus large
- **[Cypht](https://github.com/jasonmunro/cypht)** — Webmail PHP minimaliste, lecteur de flux intégré
- **[RainLoop](https://www.rainloop.net)** — Projet original (maintenance ralentie, préférer SnappyMail)
- **[SOGo](https://www.sogo.nu)** — Webmail + calendrier + contacts tout-en-un
## 🔒 Sécurité
- **HTTPS obligatoire** en production (Let's Encrypt via Traefik/NPM)
- **2FA** : activable par utilisateur, recommandé pour les comptes admin
- **CSRF** : tokens sur tous les formulaires sensibles
- **CSP** : configurable pour durcir le frontend
- **Fail2ban** : recommander sur les tentatives de brute-force
- **Mises à jour** : suivre les releases (sécurité active)
## 📚 Ressources
- [Site officiel](https://www.snappymail.eu)
- [Documentation](https://github.com/the-djmaze/snappymail/wiki)
- [GitHub the-djmaze/snappymail](https://github.com/the-djmaze/snappymail)
- [Démo en ligne](https://snappymail.eu/demo/)
## Pages Liées
- [[cat-email]] — Toutes les apps Email du catalogue
- [[app-roundcube]] — Webmail PHP historique, alternative directe
- [[app-mailcow]] — Inclut un webmail (SOGo ou SnappyMail en option)
- [[app-mailu]] — Utilise un webmail (Rspamd UI), peut être complété par SnappyMail
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — HTTPS et durcissement