On Fri, 13 Jul 2007, Bob Bob wrote: > Postfix & Cyrus > > Have been finishing off the server ready for accepting external smtp > connections. No more fetchmail... > > I note that in todays spam environment more and more administrators are > choosing to black hole any messages with invalid recipients. In a > standard postfix setup this is pretty easy with luser_relay. When > however you use lmtp, local delivery really only looks at /etc/aliases > until it passes through to cyrus. > > My first question is a general one. Do you all choose to send > reject/nonexistent user messages or just black hole them? Rejecting is > obviously the simplest solution but I am concerned about being > blacklisted from sending garbage back out. There are ways of course to > stop backscatter happening but I am also concerned that there are valid > bounces being created that the (real) sender needs to know about. I'd > like to hear what your solutions have been. > > My second question is how to you accomplish a black hole with cyrus? I > had thought that a "global" sieve script would do it but note that this > is user specific. I see nothing specific in lmtp that points to that either. > > I note this has been discussed previously but I didn't find an actual > resolution beyond allowing auto mailbox creation! > > Thoughts appreciated I generate a list of all valid email addresses from my Cyrus servers using a perl script. Here is the code doing the real work: # Fetch all top-level mailboxes foreach $mailbox ($imap->list("user.%")) { if ($mailbox =~ /^user\.(\w+)$/) { $username = $1; print OUT "$username\@onid.orst.edu OK\n"; print OUT "$username\@onid.oregonstate.edu OK\n"; } else { print "Could not match input mailbox: $mailbox\n"; } } This file is the then copied to all our SMTP frontends and used to build a Postfix relay recipients map. Here is the relevant Postfix config from main.cf: relay_recipient_maps = hash:/etc/postfix/relay-recipient-maps Postfix is configured to use a transport map to deliver mail to Cyrus from main.cf: transport_maps = hash:/etc/postfix/transport And /etc/postfix/transport contains: onid.oregonstate.edu lmtp:cyrus-vs.onid.oregonstate.edu onid.orst.edu lmtp:cyrus-vs.onid.oregonstate.edu I think that covers all the pieces needed... Andy ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html