On Tue, Nov 25, 2008 at 02:14:10PM -0800, Quanah Gibson-Mount wrote: > --On Friday, November 21, 2008 7:49 PM -0800 Quanah Gibson-Mount > <[EMAIL PROTECTED]> wrote: > > >So, I'm guessing not breaking recipient validation means adding aliases, > >which I can't do, or the above bit about the domain and query, which I > >also apparently can't do. I'll look into a policy service, thanks! > > Ok, I've written a simple perl script policy service, that queries our LDAP > server if they are using an alias domain, and verifies the recipient > account exists. If it does, it returns "dunno" as the action to take. > > What's the correct action to take if the account doesn't exist? Currently > I have "defer_if_permit Service temporarily unavailable".
A hard "REJECT" seems more reasonable for invalid recipient addresses. REJECT 5.1.1 Mailbox unavailable > Our smtpd_recipient_restrictions are: reject_non_fqdn_recipient, > permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, > reject_unlisted_recipient, reject_invalid_hostname, reject_non_fqdn_sender, > check_policy_service unix:private/policy, permit > > > Finally, although I can test the script just fine from the command line, > I'm not 100% sure postfix is actually executing it. I added to master.cf: > > policy unix - n n - 0 spawn > user=nobody argv=/usr/bin/perl /opt/zimbra/libexec/zmpostfixpolicyd > -v Your script can syslog its activities. The script will only be called for senders that don't match "mynetworks" and don't have SASL credentials. > and I modified the smtpd_recipient_restrictions as above, plus added > policy_time_limit = 3600 to main.cf. > > I verified the unix socket exists: > > [EMAIL PROTECTED] spool]# cd /opt/zimbra/data/postfix/spool/private/ > [EMAIL PROTECTED] private]# ls -l policy > srw-rw-rw- 1 postfix postfix 0 Nov 25 11:59 policy > > We have: queue_directory = /opt/zimbra/data/postfix/spool so that should be > the correct location. > > However, when I connect to the SMTP port and send an email to a user, I > don't see that zmpostfixpolicyd is run. Shouldn't it be running on all > emails that come in, regardless of whether or not it takes action? You are probably sending from "mynetworks". The script is spawned on demand (first call to the policy service). -- Viktor. Disclaimer: off-list followups get on-list replies or get ignored. Please do not ignore the "Reply-To" header. To unsubscribe from the postfix-users list, visit http://www.postfix.org/lists.html or click the link below: <mailto:[EMAIL PROTECTED]> If my response solves your problem, the best way to thank me is to not send an "it worked, thanks" follow-up. If you must respond, please put "It worked, thanks" in the "Subject" so I can delete these quickly.