Add MTA integration information and update depenency installation in README.

This commit is contained in:
Scott Kitterman
2018-03-08 00:37:34 -05:00
parent df19aa081e
commit 9d28ab3567
+41 -2
View File
@@ -16,10 +16,11 @@ python setup.py install --single-version-externally-managed --record=/dev/null
For users of Debian Stable (Debian 9, Codename Squueze), all dependencies are For users of Debian Stable (Debian 9, Codename Squueze), all dependencies are
available in either the main or backports repositories: available in either the main or backports repositories:
[sudo] apt install python-milter python-nacl [sudo] apt install python-milter python-nacl pthon-ipaddress python-dnspython
[sudo] apt install -t squeeze-backports python-authres python-dkim [sudo] apt install -t squeeze-backports python-authres python-dkim
The preferred method of installation is from PyPi using pip: The preferred method of installation is from PyPi using pip (if distribution
packages are not available):
[sudo] pip install dkimpy_milter [sudo] pip install dkimpy_milter
@@ -43,6 +44,44 @@ As an example, using the default dkimpy-user on Debian, the command would be:
Since /var/run or /run is sometimes on a tempfs, if the PID file directory is Since /var/run or /run is sometimes on a tempfs, if the PID file directory is
missing, the milter will create it on startup. missing, the milter will create it on startup.
As with all milters, dkimpy-milter needs to be integrated with your MTA of
choice (Sendmail or Postfix).
For Sendmail:
Configuration is very similar to opendkim, but needs some adjustment for
dkimpy-milter. Here's an example configuration line to include in your
sendmail.mc:
INPUT_MAIL_FILTER(`dkimpy-milter', `S=local:/var/run/dkimpy-milter/dkimpy-milter.sock')dnl
Changing the sendmail.mc file requires a Make (to compile it into sendmail.cf)
and a restart of sendmail. Note that S= needs to match the value of Socket in
the dkimpy-milter configuration file.
Milter support should be present by default in most versions of sendmail
these days, but if not included in your Sendmail build, see:
http://www.elandsys.com/resources/sendmail/milter.html
For Postfix:
Integration of dkimpy-milter into Postfix is like any milter (See Postfix's
README_FILES/MILTER_README). Here's an example master.cf excerpt the talks to
two dkimpy-milter instances, one configured for signing and one configured for
verification:
smtp inet n - - - - smtpd
...
-o smtpd_milters=inet:localhost:8892
...
submission inet n - - - - smtpd
...
-o smtpd_milters=inet:localhost:8891
...
These need to match the Socket value for each dkimpy-milter instance.
The python DKIM library, dkimpy, requires the entire message being signed or The python DKIM library, dkimpy, requires the entire message being signed or
verified to be in memory, so dkimpy-milter does not write messages out to a temp verified to be in memory, so dkimpy-milter does not write messages out to a temp
file. This may impact performance on low-memory systems. file. This may impact performance on low-memory systems.