Can’t make Dovecot communicate with Postfix using SASL (warning: SASL: Connect to private/auth failed: No such file or directory)

debian-lennydovecotemailpostfixsmtp

Solved. I will leave this as a reference to other people, as I have seen this error reported often enough on line.

I had to change the path

smtpd_sasl_path = private/auth

in my

/etc/postfix/main.cf

to relative, instead of absolute. This is because in Debian Postfix runs chrooted (and how does this affect the path structure?! Anyone?)

I am trying to get Dovecot to communicate with Postfix for SMTP support via SASL. the master plan is to be able to host multiple e-mail accounts on my (Debian Lenny 64 bits) server, using virtual users. Whenever I test my current configuration, by running

telnet server-IP smtp

I get the following error on mail.log

warning: SASL: Connect to /var/spool/postfix/private/auth failed: No such file or directory

Now, Dovecot is supposed to create the auth socket file, yet it doesn't. I have given the right privileges to the directory private, and even tried creating a auth file manually.

The output of

postconf -a

is

cyrus
dovecot

Am I correct in assuming from this that the package was compiled with SASL support?

My dovecot.conf also holds

      client {
        path = /var/spool/postfix/private/auth
        mode = 0660
        user = postfix
        group = postfix
      }

I have tried every solution out there, and am pretty much desperate after a full day of struggling with the issue. Can anybody help me, pretty please?

Best Answer

If you want to use sasl within postfix you also have to say which type it has to use. The output of postdonf -a gives you the possible types. In your case you have to declare the following:

smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot