SMTP server to forward messages to shoutrrr endpoints
| .forgejo/workflows | ||
| .woodpecker | ||
| cmd | ||
| .gitignore | ||
| .goreleaser.yml | ||
| backend.go | ||
| backend_test.go | ||
| config.go | ||
| Containerfile | ||
| email.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| server.go | ||
smtp2shoutrrr
A simple SMTP server that forwards incoming emails to a Shoutrrr supported service.
Installing
First generate a new configuration file following this example:
# config.toml
# Port the SMTP server will listen on
Port = 11025
# Credentials for the SMTP server (default to username/password if not set/empty)
Username = "user"
Password = "nometokens"
# Shoutrrr service to forward emails to
[[Recipients]]
# Email addresses to forward emails from
Addresses = ["some@email.com"]
# Shoutrrr service to forward emails to
# See shoutrrr documentation: https://containrrr.dev/shoutrrr/
Target = "ntfy://ntfy.sh/my-ntfy-topic?tags=thing"
# Note: Repeat [[Recipients]] as needed
# Optional: Configure a catch-all recipient for unmatched email addresses
[CatchAll]
# Shoutrrr service to forward unmatched emails to
Target = "ntfy://ntfy.sh/catch-all-topic?tags=unmatched"
From releases
- Grab the latest release from the releases page
- Put the configuration file in the same directory as the binary
- Run the binary for your appropriate platform
From source (development)
- Clone this repository
- Put the configuration file in the repository folder
- Run
make quick-run
Using docker
- Create a
config.tomlfile as described above - Run the docker image mounting the
Config.tomlfile as/config.tomland exposing the configured port:
docker run -v /path/to/config.toml:/config.toml \
-p 11025:11025 \
codeberg.org/fmartingr/smtp2shoutrrr:latest
Development
Run the server with:
make quick-run
Send a test email with:
This will read the
config.tomlin the current directory to set the appropriate SMTP client configuration.
go run ./cmd/sendmail/.