On Mon, Nov 25, 2013 at 9:51 PM, Wietse Venema <wie...@porcupine.org> wrote:

> Mark Goodge:
> > What would be the simplest method in Postfix of implementing an
> > equivalent to the exim ACL mentioned in this blog post:
> >
> > http://blog.hinterlands.org/2013/10/unwanted-email-from-communicado-ltd/
> >
> > That is, what's the simplest way of rejecting email from a list of
> > domains contained within a simple text file that can be updated
> > regularly without needing to restart Postfix.
>
> No need to restart Postfix. Use an indexed file and let smtpd(8)
> auto-detect that the file has changed.
>
> Run this from cron:
>
>     #!/bin/sh
>
>     # Configure smtpd(8) to query $TYPE:real-file
>
>     TYPE=cdb # or hash or lmdb
>     SUFF=cdb # or db or lmdb
>     URL=http://example.com/file.txt
>
>     test -f old-file || touch old-file
>     wget -O new-file $URL && test -s new-file && {
>         cmp -s old-file new-file || {
>             postmap $TYPE:new-file && mv new-file.$SUFF real-file.$SUFF
>             mv new-file old-file
>         }
>     }
>


If I may chime in, I guess it's 'mv new-file.$SUFF real-file.$SUFF' that
triggers the actual change that is actually detected by postfix (or more
specifically, smptd(8))?

-jf




>
> In particular, LMDB as of postfix-2.11-20131122 no longer restarts
> a daemon and picks up changes immediately. With cdb and hash, the
> changes are detected at the start of a new SMTP session and then
> smtpd(8) restarts.
>
>         Wietse
>

Reply via email to