On Sat, 2010-01-23 at 20:32 +0000, Mike Cardwell wrote: > On 23/01/2010 20:25, Martin Gregorie wrote: > > > Store user linked whitelist URLs in a relational database. Use an SA > > plugin to apply them. Provide a GUI tool with a really simple interface > > to allow users to maintain their own whitelist and blacklist entries. > > Using a relational database to store the lists makes it simple to > > distribute a GUI tool that's capable of being run remotely on user's > > desktops and should give good comparison performance. > > > > Would something along those lines meet your user-friendliness criteria? > I suggested this as an add-on for a MTA+SA set-up supporting arbitrarily large numbers of users. It would allow users to handle their own whitelisting. If the query is along the lines of:
select count(*) from whitelist w where w.user='mailbox' and '%sender%' like w.sender; queries would be fast and users could input partial addresses like "@spamassassin.org" as well as complete addresses. I'm assuming some preprocessing to add the % signs, but nothing more is needed. > I wrote an application for doing it with > CommuniGate Pro: > I'm using my mail archive, which stores mail in a PostgreSQL database, as an automatic whitelister. Anybody I've sent mail to is automatically whitelisted as a mail sender provided the address hasn't been manually flagged as 'self' to prevent mail with my address forged as sender being whitelisted. The schema contains a view that selects all non-self addresses that I've sent mail to. This is interrogated with "select count(*) from whitelist where address = 'sender'" by my SA plugin. Martin