7

I've just been moving a postfix mail server to a different box, and I'm having trouble getting postfix to talk opendkim via a unix socket. The opendkim socket is located at /var/run/opendkim/opendkim.sock:

srwxrwxr-x 1 opendkim opendkim 0 Aug 14 15:11 /var/run/opendkim/opendkim.sock=

....but postfix can't see it. Here's a line from /var/log/mail.log:

Aug 14 15:13:04 new postfix/smtpd[23954]: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

Here is the line from my /etc/postfix/main.cf:

smtpd_milters = inet:127.0.0.1:11444 unix:/var/run/opendkim/opendkim.sock

Does anyone have any ideas as to what is causing the problem? I have googled around a bit, but I can't find any solutions that work.

Update: I'm using Postfix 3.1.0-3. Here's my uname -a:

Linux starbeamrainbowlabs.com 3.14.32-xxxx-grs-ipv6-64 #7 SMP Wed Jan 27 18:05:09 CET 2016 x86_64 x86_64 x86_64 GNU/Linux
starbeamrainbowlabs
  • 323
  • 1
  • 6
  • 16

1 Answers1

8

You will need to set the socket file in spool dir of postfix, e.g:

/var/spool/postfix/var/run/opendkim

After changing that, you might see problem about permission, then just change group owner of that dir to postfix and it will work.

See https://unix.stackexchange.com/a/74491/22454

HVNSweeting
  • 494
  • 1
  • 9
  • 16
  • 3
    Yep, it turns out that postfix was treating the `/var/spool/postfix` directory as the root directory. Putting it in there solved the problem :-) – starbeamrainbowlabs Feb 09 '17 at 08:41
  • To clarify, have the postfix conf just look for /var/run/opendkim, but in opendikm.conf you want to point to the full path of /var/spool/postfix/var/run/opendkim – Tonis F. Piip Jun 22 '20 at 16:29