This Go program is a SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.
Special thanks to @emersion for creating and providing the following Go libraries that are the main building blocks of this program:
Additional dependencies are the following awesome Go libraries:
You basically have two options to install this Go program package:
- If you have Go installed and configured on your PATH, just do the following go get inside your GOPATH to get the latest version:
go get -u github.com/mback2k/smtp-dkim-signer
- If you do not have Go installed and just want to use a released binary, then you can just go ahead and download a pre-compiled Linux amd64 binary from the Github releases.
Finally put the smtp-dkim-signer binary onto your PATH and make sure it is executable.
The following YAML file is an example configuration with one virtual host:
Address: "localhost:25" Domain: "localhost" LetsEncrypt: Agreed: true Contact: email@example.com Challenge: http ChallengePort: 80 VirtualHosts: - Domain: your-domain.tld Upstream: "your-upstream-smtp:465" Selector: "your-dkim-selector" PrivKeyPath: "your-private-key-file" OR | your-private-key-data HeaderCan: "relaxed" BodyCan: "simple" HeaderKeys: - "From" - "Reply-To" - "Subject" - "Date" - "To" - "Cc" - "In-Reply-To" - "References" - "Message-ID" - "Resent-Date" - "Resent-From" - "Resent-To" - "Resent-Cc" # optional: Rollbar: AccessToken: "your-rollbar-access-token" Environment: production
Save this file in one of the following locations and run
Copyright (C) 2018 - 2020, Marc Hoersken firstname.lastname@example.org
This software is licensed as described in the file LICENSE, which you should have received as part of this software distribution.
All trademarks are the property of their respective owners.
There is no documentation for this package.