# 📬 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 reg.cadoles.com/cadoles/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 # 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 ``` ### 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` | | `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` | ## DĂ©marrer avec les sources ### DĂ©pendances - Go 1.21 - 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