Compare commits
2 Commits
doc_readon
...
develop
Author | SHA1 | Date |
---|---|---|
wpetit | 888ff2ec47 | |
wpetit | 040a9d0e46 |
3
Makefile
3
Makefile
|
@ -1,4 +1,4 @@
|
||||||
DOCKER_REPOSITORY ?= docker.io/bornholm
|
DOCKER_REPOSITORY ?= reg.cadoles.com/cadoles
|
||||||
|
|
||||||
YQ_VERSION ?= v4.30.4
|
YQ_VERSION ?= v4.30.4
|
||||||
YQ_BINARY ?= yq_linux_amd64
|
YQ_BINARY ?= yq_linux_amd64
|
||||||
|
@ -14,6 +14,7 @@ build:
|
||||||
CGO_ENABLED=0 go build -v -o bin/fake-smtp ./cmd/fake-smtp
|
CGO_ENABLED=0 go build -v -o bin/fake-smtp ./cmd/fake-smtp
|
||||||
|
|
||||||
docker-image:
|
docker-image:
|
||||||
|
git tag -a $(MKT_PROJECT_VERSION) -m "v$(MKT_PROJECT_VERSION)" || exit 0
|
||||||
docker build \
|
docker build \
|
||||||
--build-arg HTTP_PROXY=$(HTTP_PROXY) \
|
--build-arg HTTP_PROXY=$(HTTP_PROXY) \
|
||||||
--build-arg HTTPS_PROXY=$(HTTPS_PROXY) \
|
--build-arg HTTPS_PROXY=$(HTTPS_PROXY) \
|
||||||
|
|
70
README.md
70
README.md
|
@ -11,7 +11,7 @@ Serveur SMTP factice pour le développement avec interface web.
|
||||||
### Avec Docker
|
### Avec Docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -it --rm -p 8080:8080 -p 2525:2525 bornholm/fake-smtp
|
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/.
|
L'interface Web sera accessible à l'adresse http://localhost:8080/.
|
||||||
|
@ -58,15 +58,15 @@ data:
|
||||||
|
|
||||||
# Configuration du relais SMTP
|
# Configuration du relais SMTP
|
||||||
relay:
|
relay:
|
||||||
enabled: false # Activer/désactiver le relais SMTP
|
enabled: false # Activer/désactiver le relais SMTP
|
||||||
address: "" # Adresse du serveur au format "host:port"
|
address: "" # Adresse du serveur au format "host:port"
|
||||||
identity: "" # Identité du compte utilisateur, peut être laissé vide
|
identity: "" # Identité du compte utilisateur, peut être laissé vide
|
||||||
username: "" # Identifiant du compte SMTP, non utilisé sur anonymous = true
|
username: "" # Identifiant du compte SMTP, non utilisé sur anonymous = true
|
||||||
password: "" # Mot de passe 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"
|
anonymous: false # Utiliser le mode d'authentification "anonyme"
|
||||||
useTLS: false # Utiliser TLS pour se connecter au serveur SMTP
|
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
|
insecureSkipVerify: true # Ne pas vérifier le certificat du serveur pour les connexions TLS/STARTTLS
|
||||||
fromOverride: "" # Surcharger l'adresse émetteur des courriels transmis
|
fromOverride: "" # Surcharger l'adresse émetteur des courriels transmis
|
||||||
```
|
```
|
||||||
|
|
||||||
### Variables d'environnement
|
### Variables d'environnement
|
||||||
|
@ -75,36 +75,36 @@ La configuration de FakeSMTP peut être personnalisée via des variables d'envir
|
||||||
|
|
||||||
Les valeurs des variables d'environnement surchargent les valeurs présentes dans le fichier de configuration.
|
Les valeurs des variables d'environnement surchargent les valeurs présentes dans le fichier de configuration.
|
||||||
|
|
||||||
|Variable|Correspondance dans le fichier de configuration|
|
| Variable | Correspondance dans le fichier de configuration |
|
||||||
|--------|-----------------------------------------------|
|
| ------------------------------------- | ----------------------------------------------- |
|
||||||
|`FAKESMTP_HTTP_ADDRESS`|`http.address`|
|
| `FAKESMTP_HTTP_ADDRESS` | `http.address` |
|
||||||
|`FAKESMTP_HTTP_TEMPLATEDIR`|`http.templateDir`|
|
| `FAKESMTP_HTTP_TEMPLATEDIR` | `http.templateDir` |
|
||||||
|`FAKESMTP_HTTP_PUBLICDIR`|`http.publicDir`|
|
| `FAKESMTP_HTTP_PUBLICDIR` | `http.publicDir` |
|
||||||
|`FAKESMTP_SMTP_ADDRESS`|`smtp.address`|
|
| `FAKESMTP_SMTP_ADDRESS` | `smtp.address` |
|
||||||
|`FAKESMTP_SMTP_USERNAME`|`smtp.username`|
|
| `FAKESMTP_SMTP_USERNAME` | `smtp.username` |
|
||||||
|`FAKESMTP_SMTP_PASSWORD`|`smtp.password`|
|
| `FAKESMTP_SMTP_PASSWORD` | `smtp.password` |
|
||||||
|`FAKESMTP_SMTP_DOMAIN`|`smtp.domain`|
|
| `FAKESMTP_SMTP_DOMAIN` | `smtp.domain` |
|
||||||
|`FAKESMTP_SMTP_READTIMEOUT`|`smtp.readTimeout`|
|
| `FAKESMTP_SMTP_READTIMEOUT` | `smtp.readTimeout` |
|
||||||
|`FAKESMTP_SMTP_WRITETIMEOUT`|`smtp.writeTimeout`|
|
| `FAKESMTP_SMTP_WRITETIMEOUT` | `smtp.writeTimeout` |
|
||||||
|`FAKESMTP_SMTP_MAXMESSAGEBYTES`|`smtp.maxMessageBytes`|
|
| `FAKESMTP_SMTP_MAXMESSAGEBYTES` | `smtp.maxMessageBytes` |
|
||||||
|`FAKESMTP_SMTP_MAXRECIPIENTS`|`smtp.maxRecipients`|
|
| `FAKESMTP_SMTP_MAXRECIPIENTS` | `smtp.maxRecipients` |
|
||||||
|`FAKESMTP_SMTP_ALLOWINSECUREAUTH`|`smtp.allowInsecureAuth`|
|
| `FAKESMTP_SMTP_ALLOWINSECUREAUTH` | `smtp.allowInsecureAuth` |
|
||||||
|`FAKESMTP_SMTP_DEBUG`|`smtp.debug`|
|
| `FAKESMTP_SMTP_DEBUG` | `smtp.debug` |
|
||||||
|`FAKESMTP_DATA_PATH`|`data.path`|
|
| `FAKESMTP_DATA_PATH` | `data.path` |
|
||||||
|`FAKESMTP_RELAY_ENABLED`|`relay.enabled`|
|
| `FAKESMTP_RELAY_ENABLED` | `relay.enabled` |
|
||||||
|`FAKESMTP_RELAY_ADDRESS`|`relay.address`|
|
| `FAKESMTP_RELAY_ADDRESS` | `relay.address` |
|
||||||
|`FAKESMTP_RELAY_IDENTITY`|`relay.identity`|
|
| `FAKESMTP_RELAY_IDENTITY` | `relay.identity` |
|
||||||
|`FAKESMTP_RELAY_USERNAME`|`relay.username`|
|
| `FAKESMTP_RELAY_USERNAME` | `relay.username` |
|
||||||
|`FAKESMTP_RELAY_PASSWORD`|`relay.password`|
|
| `FAKESMTP_RELAY_PASSWORD` | `relay.password` |
|
||||||
|`FAKESMTP_RELAY_ANONYMOUS`|`relay.anonymous`|
|
| `FAKESMTP_RELAY_ANONYMOUS` | `relay.anonymous` |
|
||||||
|`FAKESMTP_RELAY_INSECURE_SKIP_VERIFY`|`relay.insecureSkipVerify`|
|
| `FAKESMTP_RELAY_INSECURE_SKIP_VERIFY` | `relay.insecureSkipVerify` |
|
||||||
|`FAKESMTP_RELAY_FROM_OVERRIDE`|`relay.fromOverride`|
|
| `FAKESMTP_RELAY_FROM_OVERRIDE` | `relay.fromOverride` |
|
||||||
|
|
||||||
## Démarrer avec les sources
|
## Démarrer avec les sources
|
||||||
|
|
||||||
### Dépendances
|
### Dépendances
|
||||||
|
|
||||||
- Go 1.13
|
- Go 1.21
|
||||||
- modd
|
- modd
|
||||||
- make
|
- make
|
||||||
- NodeJS/npm
|
- NodeJS/npm
|
||||||
|
|
|
@ -3,10 +3,10 @@ package main
|
||||||
import (
|
import (
|
||||||
"gitlab.com/wpetit/goweb/template/html"
|
"gitlab.com/wpetit/goweb/template/html"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/command"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/command"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/query"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/query"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/service"
|
"gitlab.com/wpetit/goweb/service"
|
||||||
"gitlab.com/wpetit/goweb/service/build"
|
"gitlab.com/wpetit/goweb/service/build"
|
||||||
|
|
|
@ -3,7 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/route"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/route"
|
||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/go-chi/chi/v5/middleware"
|
"github.com/go-chi/chi/v5/middleware"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
|
@ -14,7 +14,7 @@ import (
|
||||||
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/command"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/command"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
"github.com/emersion/go-smtp"
|
"github.com/emersion/go-smtp"
|
||||||
"github.com/jhillyerd/enmime"
|
"github.com/jhillyerd/enmime"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
Date de construction: {{ .BuildInfo.BuildDate }}
|
Date de construction: {{ .BuildInfo.BuildDate }}
|
||||||
</p>
|
</p>
|
||||||
<p class="has-text-right is-size-7 has-text-grey">
|
<p class="has-text-right is-size-7 has-text-grey">
|
||||||
Propulsé par <a target="_blank" href="https://forge.cadoles.com/wpetit/fake-smtp">FakeSMTP</a> et publié sous licence <a href="https://www.gnu.org/licenses/agpl-3.0.txt">AGPL-3.0</a>.
|
Propulsé par <a target="_blank" href="https://forge.cadoles.com/Cadoles/fake-smtp">FakeSMTP</a> et publié sous licence <a href="https://www.gnu.org/licenses/agpl-3.0.txt">AGPL-3.0</a>.
|
||||||
</p>
|
</p>
|
||||||
{{end}}
|
{{end}}
|
2
go.mod
2
go.mod
|
@ -1,4 +1,4 @@
|
||||||
module forge.cadoles.com/wpetit/fake-smtp
|
module forge.cadoles.com/Cadoles/fake-smtp
|
||||||
|
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ import (
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,8 +5,8 @@ import (
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
)
|
)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
|
|
||||||
"github.com/emersion/go-smtp"
|
"github.com/emersion/go-smtp"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
"github.com/jhillyerd/enmime"
|
"github.com/jhillyerd/enmime"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
|
|
|
@ -6,8 +6,8 @@ import (
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"github.com/jhillyerd/enmime"
|
"github.com/jhillyerd/enmime"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
stormdb "github.com/asdine/storm/v3"
|
stormdb "github.com/asdine/storm/v3"
|
||||||
"github.com/asdine/storm/v3/q"
|
"github.com/asdine/storm/v3/q"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
|
@ -3,8 +3,8 @@ package query
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
|
|
|
@ -3,8 +3,8 @@ package route
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/query"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/query"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/api"
|
"gitlab.com/wpetit/goweb/api"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
|
|
|
@ -7,10 +7,10 @@ import (
|
||||||
|
|
||||||
"github.com/microcosm-cc/bluemonday"
|
"github.com/microcosm-cc/bluemonday"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/command"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/command"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/model"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/model"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/query"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/query"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/storm"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/storm"
|
||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
|
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/query"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/query"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/middleware/container"
|
"gitlab.com/wpetit/goweb/middleware/container"
|
||||||
"gitlab.com/wpetit/goweb/service"
|
"gitlab.com/wpetit/goweb/service"
|
||||||
|
|
|
@ -3,8 +3,8 @@ package route
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/command"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/command"
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/query"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/query"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gitlab.com/wpetit/goweb/cqrs"
|
"gitlab.com/wpetit/goweb/cqrs"
|
||||||
"gitlab.com/wpetit/goweb/logger"
|
"gitlab.com/wpetit/goweb/logger"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package route
|
package route
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"forge.cadoles.com/wpetit/fake-smtp/internal/config"
|
"forge.cadoles.com/Cadoles/fake-smtp/internal/config"
|
||||||
|
|
||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"gitlab.com/wpetit/goweb/static"
|
"gitlab.com/wpetit/goweb/static"
|
||||||
|
|
Loading…
Reference in New Issue