https://github.com/mback2k/smtp-dkim-signer
SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.
https://github.com/mback2k/smtp-dkim-signer
dkim golang-application smtp smtp-server
Last synced: 7 months ago
JSON representation
SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.
- Host: GitHub
- URL: https://github.com/mback2k/smtp-dkim-signer
- Owner: mback2k
- License: gpl-3.0
- Created: 2018-12-14T18:13:18.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-24T19:40:07.000Z (about 2 years ago)
- Last Synced: 2025-03-19T00:55:38.821Z (7 months ago)
- Topics: dkim, golang-application, smtp, smtp-server
- Language: Go
- Size: 120 KB
- Stars: 37
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
smtp-dkim-signer
================
This Go program is a SMTP-proxy that DKIM-signs e-mails
before submission to an upstream SMTP-server.[](https://travis-ci.org/mback2k/smtp-dkim-signer)
[](https://godoc.org/github.com/mback2k/smtp-dkim-signer)
[](https://goreportcard.com/report/github.com/mback2k/smtp-dkim-signer)Dependencies
------------
Special thanks to [@emersion](https://github.com/emersion) for creating and providing
the following Go libraries that are the main building blocks of this program:- https://github.com/emersion/go-smtp
- https://github.com/emersion/go-smtp-proxy
- https://github.com/emersion/go-dkimAdditional dependencies are the following awesome Go libraries:
- https://github.com/mholt/certmagic
- https://github.com/spf13/viperInstallation
------------
You basically have two options to install this Go program package:1. 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
```2. 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](https://github.com/mback2k/smtp-dkim-signer/releases).Finally put the smtp-dkim-signer binary onto your PATH and make sure it is executable.
Configuration
-------------
The following YAML file is an example configuration with one virtual host:```
Address: "localhost:25"
Domain: "localhost"
LetsEncrypt:
Agreed: true
Contact: your-name@your-domain.tld
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 `./smtp-dkim-signer`:
- /etc/smtp-dkim-signer/smtp-dkim-signer.yaml
- $HOME/.smtp-dkim-signer.yaml
- $PWD/smtp-dkim-signer.yamlLicense
-------
Copyright (C) 2018 - 2020, Marc HoerskenThis 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.