111 lines
2.4 KiB
Markdown
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 |