2020-04-17 17:53:01 +02:00
|
|
|
# 📬 FakeSMTP
|
|
|
|
|
|
|
|
Serveur SMTP factice pour le développement avec interface web.
|
|
|
|
|
|
|
|
**Aperçu de l'interface Web**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Utilisation
|
|
|
|
|
|
|
|
### Avec Docker
|
|
|
|
|
|
|
|
```bash
|
2024-03-21 09:09:57 +01:00
|
|
|
docker run -it --rm -p 8080:8080 -p 2525:2525 reg.cadoles.com/cadoles/fake-smtp
|
2020-04-17 17:53:01 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
L'interface Web sera accessible à l'adresse http://localhost:8080/.
|
|
|
|
|
|
|
|
Le serveur SMTP sera accessible sur le port 2525. L'authentification est désactivée par défaut.
|
|
|
|
|
2020-06-11 14:59:52 +02:00
|
|
|
Voir la section "[Variables d'environnement](#variables-denvironnement)" pour voir comment personnaliser la configuration du service.
|
|
|
|
|
2020-04-17 17:53:01 +02:00
|
|
|
### Avec les binaires
|
|
|
|
|
|
|
|
> TODO
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
## Fichier de configuration
|
|
|
|
|
|
|
|
Le fichier de configuration de FakeSMTP est au format [YAML](https://yaml.org/).
|
|
|
|
|
|
|
|
Voici la structure du fichier par défaut:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
# Configuration HTTP
|
|
|
|
http:
|
|
|
|
address: :8080
|
|
|
|
templateDir: template
|
|
|
|
publicDir: public
|
|
|
|
|
|
|
|
# Configuration SMTP
|
|
|
|
smtp:
|
|
|
|
address: :2525
|
|
|
|
username: ""
|
|
|
|
password: ""
|
|
|
|
domain: localhost
|
|
|
|
readTimeout: 30s
|
|
|
|
writeTimeout: 30s
|
|
|
|
maxMessageBytes: 1048576
|
|
|
|
maxRecipients: 50
|
|
|
|
allowInsecureAuth: true
|
|
|
|
debug: true
|
|
|
|
|
|
|
|
# Configuration du stockage
|
|
|
|
data:
|
|
|
|
path: fakesmtp.db
|
2020-11-06 09:44:30 +01:00
|
|
|
|
|
|
|
# Configuration du relais SMTP
|
|
|
|
relay:
|
2024-03-21 09:09:57 +01:00
|
|
|
enabled: false # Activer/désactiver le relais SMTP
|
|
|
|
address: "" # Adresse du serveur au format "host:port"
|
|
|
|
identity: "" # Identité du compte utilisateur, peut être laissé vide
|
|
|
|
username: "" # Identifiant du compte SMTP, non utilisé sur anonymous = true
|
|
|
|
password: "" # Mot de passe du compte SMTP, non utilisé sur anonymous = true
|
|
|
|
anonymous: false # Utiliser le mode d'authentification "anonyme"
|
|
|
|
useTLS: false # Utiliser TLS pour se connecter au serveur SMTP
|
|
|
|
insecureSkipVerify: true # Ne pas vérifier le certificat du serveur pour les connexions TLS/STARTTLS
|
|
|
|
fromOverride: "" # Surcharger l'adresse émetteur des courriels transmis
|
2020-04-17 17:53:01 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Variables d'environnement
|
|
|
|
|
|
|
|
La configuration de FakeSMTP peut être personnalisée via des variables d'environnement.
|
|
|
|
|
|
|
|
Les valeurs des variables d'environnement surchargent les valeurs présentes dans le fichier de configuration.
|
|
|
|
|
2024-03-21 09:09:57 +01:00
|
|
|
| Variable | Correspondance dans le fichier de configuration |
|
|
|
|
| ------------------------------------- | ----------------------------------------------- |
|
|
|
|
| `FAKESMTP_HTTP_ADDRESS` | `http.address` |
|
|
|
|
| `FAKESMTP_HTTP_TEMPLATEDIR` | `http.templateDir` |
|
|
|
|
| `FAKESMTP_HTTP_PUBLICDIR` | `http.publicDir` |
|
|
|
|
| `FAKESMTP_SMTP_ADDRESS` | `smtp.address` |
|
|
|
|
| `FAKESMTP_SMTP_USERNAME` | `smtp.username` |
|
|
|
|
| `FAKESMTP_SMTP_PASSWORD` | `smtp.password` |
|
|
|
|
| `FAKESMTP_SMTP_DOMAIN` | `smtp.domain` |
|
|
|
|
| `FAKESMTP_SMTP_READTIMEOUT` | `smtp.readTimeout` |
|
|
|
|
| `FAKESMTP_SMTP_WRITETIMEOUT` | `smtp.writeTimeout` |
|
|
|
|
| `FAKESMTP_SMTP_MAXMESSAGEBYTES` | `smtp.maxMessageBytes` |
|
|
|
|
| `FAKESMTP_SMTP_MAXRECIPIENTS` | `smtp.maxRecipients` |
|
|
|
|
| `FAKESMTP_SMTP_ALLOWINSECUREAUTH` | `smtp.allowInsecureAuth` |
|
|
|
|
| `FAKESMTP_SMTP_DEBUG` | `smtp.debug` |
|
2025-03-13 13:33:51 +01:00
|
|
|
| `FAKESMTP_DATA_MAX_EMAIL` | `data.maxEmail` |
|
2024-03-21 09:09:57 +01:00
|
|
|
| `FAKESMTP_DATA_PATH` | `data.path` |
|
|
|
|
| `FAKESMTP_RELAY_ENABLED` | `relay.enabled` |
|
|
|
|
| `FAKESMTP_RELAY_ADDRESS` | `relay.address` |
|
|
|
|
| `FAKESMTP_RELAY_IDENTITY` | `relay.identity` |
|
|
|
|
| `FAKESMTP_RELAY_USERNAME` | `relay.username` |
|
|
|
|
| `FAKESMTP_RELAY_PASSWORD` | `relay.password` |
|
|
|
|
| `FAKESMTP_RELAY_ANONYMOUS` | `relay.anonymous` |
|
|
|
|
| `FAKESMTP_RELAY_INSECURE_SKIP_VERIFY` | `relay.insecureSkipVerify` |
|
|
|
|
| `FAKESMTP_RELAY_FROM_OVERRIDE` | `relay.fromOverride` |
|
2020-04-17 17:53:01 +02:00
|
|
|
|
|
|
|
## Démarrer avec les sources
|
|
|
|
|
|
|
|
### Dépendances
|
|
|
|
|
2024-03-21 09:09:57 +01:00
|
|
|
- Go 1.21
|
2020-04-17 17:53:01 +02:00
|
|
|
- modd
|
|
|
|
- make
|
|
|
|
- NodeJS/npm
|
|
|
|
|
|
|
|
### Compiler et démarrer le serveur de développement
|
|
|
|
|
|
|
|
Dans un terminal:
|
|
|
|
|
|
|
|
```
|
|
|
|
npm install
|
|
|
|
make watch
|
|
|
|
```
|
|
|
|
|
|
|
|
## FAQ
|
|
|
|
|
|
|
|
### Générer une version de distribution
|
|
|
|
|
|
|
|
```
|
|
|
|
make release
|
|
|
|
```
|
|
|
|
|
|
|
|
## Licence
|
|
|
|
|
2024-03-21 09:09:57 +01:00
|
|
|
AGPL-3.0
|