# smtp2Shoutrrr A simple SMTP server that forwards incoming emails to a [Shoutrrr supported service](https://containrrr.dev/shoutrrr/). ## Installing First generate a new configuration file following this example: ```toml # 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" # Configure recipients to forward emails to # Multiple Targets (Recommended) # Use the Targets array to send notifications to multiple services [[Recipients]] # Email addresses to forward emails from Addresses = ["user@example.com"] # Shoutrrr services to forward emails to # See shoutrrr documentation: https://containrrr.dev/shoutrrr/ Targets = [ "ntfy://ntfy.sh/my-ntfy-topic?tags=email", "discord://token@id", "slack://token@channel" ] # Single Target (Deprecated) # The Target field is still supported for backward compatibility [[Recipients]] Addresses = ["legacy@example.com"] Target = "ntfy://ntfy.sh/legacy-topic?tags=thing" # Will show deprecation warning # Note: Repeat [[Recipients]] as needed # Optional: Configure a catch-all recipient for unmatched email addresses [CatchAll] # Shoutrrr services to forward unmatched emails to Targets = ["ntfy://ntfy.sh/catch-all-topic?tags=unmatched"] ``` ### From releases - Grab the latest release from the [releases page](https://git.nakama.town/fmartingr/smtp2shoutrrr/releases) - Put the configuration file in the same directory as the binary - Run the binary for your appropriate platform ### From source (development) - Clone [this repository](https://git.nakama.town/fmartingr/smtp2shoutrrr) - Put the configuration file in the repository folder - Run `make quick-run` ### Using docker - Create a `config.toml` file as described above - Run the docker image mounting the `Config.toml` file as `/config.toml` and exposing the configured port: ```bash docker run -v /path/to/config.toml:/config.toml \ -p 11025:11025 \ git.nakama.town/fmartingr/smtp2shoutrrr:latest ``` ## Development Run the server with: ``` make quick-run ``` Send a test email with: > This will read the `config.toml` in the current directory to set the appropriate SMTP client configuration. ``` go run ./cmd/sendmail/. ```