On Tue, 2008-01-29 at 11:48 +0100, Koen Vermeer wrote:
While this solution works fine for imap purposes, I cannot get this to work the way I want with postfix and deliver. What I would like to have is that if a message is sent to a non-existing user, it gets rejected. Instead, I can see in the logs that deliver notices that the mailbox doesn't exist (msgid=1201601833.5315.23.camel@localhost: Couldn't open mailbox {}: Mailbox doesn't exist: {}), but it also reports that it delivered it to the INBOX (msgid=1201601833.5315.23.camel@localhost: saved mail to INBOX) and postfix reports 'status=sent (delivered via dovecot service). I tried several other options (without '-e' the dovecot line in master.cf - same result; without allow_all_users=yes - dovecot-auth complains that: passdb doesn't support lookups, can't verify user's existence).
Either verify the user's existence in Postfix (I don't really know how, more of a postfix-users list question), or use something else than passdb pam + userdb static. There's just no way to ask from PAM if a user exists or not, and userdb static gives the same values for everyone so it can't verify users' existence either.