On 2008-12-10 at 17:49 +0100, Marcin Krol wrote: > I also would like to implement selective greylisting, for mails that are > "suspicious" (like when SA score is above SAtempreject in sa-exim), and > this would be much easier to do with external script than implementing > it all in Exim.
Indeed; I use such a program, the greylisting program from Debian, written in Python and hacked around to run on my non-Linux system. It uses a unix-domain socket for communications, I communicate with it via the ${readsocket...} expansion. Myself, the idea of letting each inbound mail, prior to filtering out the spam, fork a process worries me. Exim goes to some lengths to provide load limitation controls and forking new processes during the earliest stages seems fraught with problems. However, if I did want to do that, I'd use ${run...} as an expansion. Carefully. defer message = $sender_host_address is not yet authorised to \ deliver mail from <$sender_address> to \ <[EMAIL PROTECTED]>. Please try later. log_message = greylisted [... various checks, including whitelisting on file and dnswl.org ...] domains = +local_domains verify = recipient condition = ${readsocket{/var/run/greylistd/socket}\ {--grey \ $sender_host_address \ $sender_address \ [EMAIL PROTECTED] {5s}{}{false}} -Phil -- ## List details at http://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/