For quite some time, I have used OpenDKIM and lately dkimpy-milter to
sign messages entering Postfix via port 587:

  # /etc/postfix/master.cf
  submission  inet  n  -  n  -  -  smtpd
   -o smtpd_milters=unix:/run/dkimpy-milter/socket
   -o content_filter=amavis:localhost:10124
   [...]
  amavis  unix  -  -  n  -  2  smtp
   -o smtp_send_xforward_command=yes

It turns out that messages containing German umlauts (or other symbols
causing Thunderbird to use "Content-Type: text/plain; charset=utf-8")
result in Google MXs reporting the following:

  ARC-Authentication-Results: i=1; mx.google.com;
    dkim=neutral (body hash did not verify) [...]

If I change the above to

  submission  inet  n  -  n  -  -  smtpd
   -o smtpd_milters=inet:localhost:10124,unix:/run/dkimpy-milter/socket

Google validates the DKIM signatures as OK. In the latter case, Amavis
is called as a milter instead of as a content filter. The signatures are
even correct if they pass through dkimpy-milter before Amavis.

I am pretty certain that this means Amavis, when invoked as a content
filter, messes with the message bodies. Where there were 8bit symbols, I
find quoted-printable.

Before filing a bug report for Amavis, I just want to make sure I did
not miss some peculiarity of after-queue content filters?

-Ralph


Reply via email to