fake-smtp/README.md

132 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

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
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` |
| `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