Norman,

I didn't want to spam the list with a whole load of code, but since you
asked for it ;-)

Matcher
-----------------------------------------------------------
    public Collection match(Mail mail) {
        List mailAddresses = null;
        try {
                        mailAddresses = 
MatchUtil.extractAllMailAddresses(mail.getMessage
().getAllHeaderLines());
                } catch (MessagingException e) {
                        System.out.println("Mail From " + mail.getSender() + " 
caused a
MessagingException");
                        e.printStackTrace();
                        return null;
                }
                if(null!=mail && null!=mail.getSender()){
                        mailAddresses.add(mail.getSender());
                }
                
                Map matches=new HashMap();
                if(null!=mailAddresses || null!=this.mc || 
null!=getMailetContext()){
                        matches = MatchUtil.getFileListMatches(mailAddresses, 
this.mc,
getMailetContext());
                }else{
                        System.out.println("Insufficient Information to 
Proceed");
                        return null;
                }
                
                //Assemble deny List...
                List denyList = new LinkedList();
                denyList.addAll((List)matches.get("blackList"));
                denyList.addAll((List)matches.get("domainBlackList"));
                denyList.addAll((List)matches.get("subjectBlackList"));
                denyList.addAll((List)matches.get("ipBlackList"));
                denyList.removeAll((List)matches.get("whiteList"));
                denyList.removeAll((List)matches.get("domainWhiteList"));
                denyList.removeAll((List)matches.get("localDomains"));
                
                if( denyList.size()>0 )
                        return mail.getRecipients();
        return null;
    }
-----------------------------------------------------------

config.xml
-----------------------------------------------------------
<processor name="root">
..
..
..
        <mailet 
match="InLocalBlackList=BLACKLISTFILE=/home/SHARED/Backup/email/blacklists/blacklist.spam_AND_WHITELISTFILE=/home/SHARED/Backup/email/blacklists/whitelist.spam_AND_DOMAINBLACKLISTFILE=/home/SHARED/Backup/email/blacklists/domainblacklist.spam_AND_DOMAINWHITELISTFILE=/home/SHARED/Backup/email/blacklists/domainwhitelist.spam"
 class="ToProcessor">
           <processor> spam </processor>
           <notice>550 Requested action not taken: rejected - Sender or Domain 
blocked by spam filter </notice>
        </mailet>
..
..
..
</processor>
-----------------------------------------------------------

Does this help?
-- 
Kind Regards
Andrew Sykes <[EMAIL PROTECTED]>
Sykes Development Ltd
http://www.sykesdevelopment.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to