Am Sonntag, den 21.05.2006, 20:19 +0100 schrieb Steve Brewin: > Norman Maurer (JIRA) wrote: > > > > Norman Maurer reassigned JAMES-472: > > ----------------------------------- > > > > Assign To: Norman Maurer > > > > > Add Greylist support > > > -------------------- > > > > > > Key: JAMES-472 > > > URL: http://issues.apache.org/jira/browse/JAMES-472 > > > Project: James > > > Type: New Feature > > > > > Reporter: Norman Maurer > > > Assignee: Norman Maurer > > > Fix For: 2.4.0 > > > > > > > > Im working on a patch to add Greylisting support to james. > > It 90 % done. Im using a dir in which a new file is created > > with the a name that looks like "ipaddress-sender-rcpt". Then > > check for the modifytime to see if the "triplet" is valid and > > the email now get accepted. I did it that way cause there is > > no way to use sql in smtpserver at this time. > > > Any problems which can caused by that ? > > > If not i will post the patch soon after add junit tests > > Why does this have to be in SMTPServer? These extra hits on the file system > will create a bottleneck for those not interested in greylist support. Isn't > this is Mailet level functionality? If there are things you can only pick up > during SMTP processing we should add them as MailAttributes for detection in > the Mailet chain. > > Generally speaking its good to decouple the mail logic from the datastore to > provide deployment choices. Creating a new file in a FileStore does not scale > as well as creating a new row in a database table, also searching is less > performant. By making the store configurable at deployment time we can > accomodate both low and high volume users. > > Cheers > > -- Steve
In my current patch (which is allmost complete) i create an extra handler which is called before the RCPTCmdHandler. So if someone want to use it he must uncomment it ( like DNSRBLHandler). I use JDBC at the moment. But i want to change it later to work with diffrent "Stores" like UserRepository. This feature must be placed in the SMTPHandlerChain, cause we must return a 443 Temporary error on the first time a triplet was seen. I don't think that this is possible via mailet (maybe im wrong). After a "block time" ( 1hour by default, but is configurable) we will accept the triplet and the mail is accepted. We then also set a autowhitelist for this triplet of 36 days ( configurable). So no delay will be for this triplet the next 36 days. If we seen the triplet again we "renew" the autowhitelist. This is the common way for greylisting. See: http://projects.puremagic.com/greylisting/whitepaper.html Anyway not all sysadmins like it, but its very effectiv at all. bye Norman Ps: Hope thinks now a bit clearer.
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
