Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to improve deliverability for my outgoing emails with DKIM. I've gotten dkim-filter installed for postfix, using this tutorial

It seems to be working, my /var/log/mail.log shows it starting:

Aug 10 18:34:13 mail dkim-filter[5284]: Sendmail DKIM Filter v2.8.2 starting (args: -x /etc/dkim-filter.conf -u dkim-filter -P /var/run/dkim-filter/ -p inet:8891@localhost)

However, no headers are being generated when I send email and I can't figure out why.

Here is my /etc/dkim-filter.conf

And here's what I added to the bottom of /etc/postfix/

milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Any ideas? Thank you!

P.S. I have the DNS entry setup for it as well at (may still be propagating), but I assume it isn't even being checked without the headers in outgoing emails. Thanks!

share|improve this question
up vote 1 down vote accepted

Ok I figured out why. It was because I was sending email with a from address different than my domain. Once I changed the from address to an address to, it started signing them.

This is obvious in hindsight since i guess that's what domain keys do, is sign the from domain. For some reason I had assumed it was signing based on the return path or the mail server IP, and not the from address.

Since I'm building an ESP (email service provider) I need the ability to send email from lots of domains. So my next challenge is to get it signing for all domains.

Edit: Solution posted here

share|improve this answer

I've got a postfix install with DKIM signature on multiple domains. I've found that it was easier to configure amavisd-new to do that signature than using dkim-filter. Anyway, I would have added amavisd-new to my email stack in order to do spam checking.

share|improve this answer
Interesting, thanks for the alternative. – Brian Armstrong Sep 3 '09 at 20:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.