Home | Comics | Gallery | (Amazon| ThinkGeek) wishlist | Donations | Impressum | The Book of Postfix | Postfix - Einrichtung, Betrieb und Wartung | Blog
For this you might need to install Berkeley DB if it isn't already installed (on Solaris 2.6 and HP-UX 10.20 for example).
This gives your users a 5-minute window for dropping their mail after
they used POP or IMAP.
The map btree:/etc/postfix/dracd holds the information for
later perusal by Postfix.
Does your Postfix understand the maptype btree?
Check with postconf -m
If you see btree you're lucky.
If not, you need to
re-build Postfix with Berkeley DB-support.
check_client_access is the obvious choice.
Tweaking mynetworks might also work.
I shall present both:
smtpd_recipient_restrictions = permit_mynetworks check_client_access btree:/etc/postfix/dracd reject_unauth_destination ... further restrictions ... permitor as an alternative:
mynetworks = ... further networks ... btree:/etc/postfix/dracd(with default smtpd_recipient_restrictions).
Note: I always built postfix from source, as well as the daemons (obviously -- they need to be patched!). Postfix doesn't need to be patched, it only has to understand the btree format of the dracd.db. Therefore both postfix and the POP3/IMAP daemons need to use the SAME version of the Berkeley Database package.
Try this: Build Postfix with Berkeley DB support. Do NOT install it! Search the postmap binary in the source tree. Try if you can use the -q option of postmap to query the existing dracd database used by sendmail.
It works something like (check the manpage!):
% postmap -q 123.123.123.123 btree:/etc/postfix/dracdwith 123.123.123.123 being an IP of a client that has just authenticated using pop3 or IMAP. postmap should return a number (the timestamp of when the client authenticated).
This file was last modified 17. Jan 2007 by root