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**
|
|
|
|
|
|
|
|
![](./misc/preview/fake-smtp.gif)
|
|
|
|
|
|
|
|
## Utilisation
|
|
|
|
|
|
|
|
### Avec Docker
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker run -it --rm -p 8080:8080 -p 2525:2525 bornholm/fake-smtp
|
|
|
|
```
|
|
|
|
|
|
|
|
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:
|
|
|
|
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.
|
|
|
|
|
|
|
|
|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`|
|
|
|
|
|`FAKESMTP_DATA_PATH`|`data.path`|
|
2020-11-06 09:44:30 +01:00
|
|
|
|`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
|
|
|
|
|
|
|
|
- Go 1.13
|
|
|
|
- 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
|
|
|
|
|
|
|
|
AGPL-3.0
|