Connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

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

Solution 1:

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