stapelberg / smtp-dkim-signer

SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smtp-dkim-signer

This Go program is a SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.

Build Status GoDoc Go Report Card

Dependencies

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:

Installation

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
  1. 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.

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.yaml

License

Copyright (C) 2018 - 2020, Marc Hoersken info@marc-hoersken.de

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.

About

SMTP-proxy that DKIM-signs e-mails before submission to an upstream SMTP-server.

License:GNU General Public License v3.0


Languages

Language:Go 96.5%Language:Dockerfile 3.5%