fake-smtp/README.md

111 lines
2.4 KiB
Markdown

# 📬 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.
Voir la section "[Variables d'environnement](#variables-denvironnement)" pour voir comment personnaliser la configuration du service.
### 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
```
### 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`|
## 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