Am 28.10.2011 05:06, schrieb /dev/rob0: > On Thursday 27 October 2011 20:59:47 Fred Kilbourn wrote: >> I have a virtual mailbox environment and mailboxes are mapped into >> postfix from mysql with the following map: >> >> virtual_mailbox_maps = >> proxy:mysql:.../mysql_virtual_mailbox_maps.cf >> >> The map queries the database as such: >> >> SELECT maildir FROM mailbox WHERE username='%s' AND active = '1' >> >> Right now, when a user is disabled (by setting active = 0), the >> mailbox is not given to postfix and a 5.1.1 / unknown user in >> virtual mailbox table rejection occurs. Can someone help or point >> me in the right direction to figure out how to check for these >> disabled boxes and instead send a 4.2.1 or 5.2.1 mailbox disabled >> reply instead? > > Remove the "AND active = '1'" condition from the virtual_mailbox_maps > query. Add check_recipient_access to smtpd_recipient_restrictions to > return the lookup address where active is 0. Something like: > > main.cf :: > smtpd_recipient_restrictions = [ ... ] reject_unauth_destination, > check_recipient_access mysql:/path/to/disabled-user-query[, > ... ] > > /path/to/disabled-user-query :: > query = SELECT username FROM mailbox WHERE username='%s' > AND active = '0' > result_format = 'reject %s Mailbox disabled' > > Look up the appropriate SMTP code in RFC 5321, and DSN in RFC 3463 if > desired. I think it would be '550 5.2.1 %s Mailbox disabled'.
looks like nice solutions thx for the tip -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria