Re: Per User Spam Filter

From: Erik Forsberg (no email)
Date: Mon Oct 15 2001 - 16:45:53 EDT


"Justin Dalton" <> writes:

> I was wondering if anyone knew of a package that would allow users to filter
> their email on a per user basis. Big requirement is web based, as most of
> my customer are not too tech savy. Any Suggestions?

If you want spam-filtering, I guess you want to look at the "Per user
UCE control patch for Postfix" by József Kadlecsik, available here:

http://www.kfki.hu/~kadlec/sw/postfix_patch.html

It allows you to decide on a per-user-basis what spam-checks should be
used. It also allows per-user additions or excepts from the
spam-checks used.

I recently configured "my" mailserver using that patch. Relevant (and
perhaps interesting) configuration file excerpt:

--snip--
smtpd_recipient_restrictions =
        check_sender_access dbm:/etc/postfix/sender_domain,
        check_recipient_access mysql:/etc/postfix/recipient_access.mysql,
        check_recipient_access dbm:/etc/postfix/recipient_table,
        reject_unknown_sender_domain,
        cl_orbz_inputs,
        cl_ordb_relays,
        permit_mx_backup,
        permit_mynetworks,
        reject_unauth_destination

smtpd_restriction_classes =
        cl_sender_domain,
        cl_ordb_relays,
        cl_orbz_inputs,
        cl_orbz_outputs,
        cl_orbl_or,
        cl_relays_osiru,
        cl_dialups_osiru,
        cl_spmsite_osiru,
        cl_spmhaus_osiru,
        cl_spews_osiru,
        cl_no_fqdn,
        cl_no_helo_host,
        cl_no_fqdn_host,
        cl_unknown_clnt

cl_sender_domain = reject_unknown_sender_domain
cl_ordb_relays = rbl:/etc/postfix/relays.ordb.rbl
cl_orbz_inputs = rbl:/etc/postfix/inputs.orbz.rbl
cl_orbz_outputs = rbl:/etc/postfix/outputs.orbz.rbl
cl_orbl_or = rbl:/etc/postfix/or.orbl.rbl
cl_relays_osiru = rbl:/etc/postfix/relays.osirusoft.rbl
cl_dialups_osiru = rbl:/etc/postfix/dialups.relays.osirusoft.rbl
cl_spmsite_osiru = rbl:/etc/postfix/spamsites.relays.osirusoft.rbl
cl_spmhaus_osiru = rbl:/etc/postfix/spamhaus.relays.osirusoft.rbl
cl_spews_osiru = rbl:/etc/postfix/spews.relays.osirusoft.rbl
cl_no_fqdn = reject_non_fqdn_sender
cl_no_helo_host = reject_unknown_hostname
cl_no_fqdn_host = reject_non_fqdn_hostname
cl_unknown_clnt = reject_unknown_client
--snap--

(Yes, I know I don't have to have separate classes to use already
existing rules. I wanted to keep the names short and consistent,
that's why).

As you can see, I use a MySQL table to see if my users have any
specific requests when it comes to spam filtering. For a specific
user, it returns either NULL or nothing, meaning Postfix should use
the default filtering, or a list of restrictions to apply that might end in
'permit' to tell Postfix not to use the default restrictions.

I'm planning to add another table for per user exceptions/additions,
using the 'check_access' parametrized access check that's also added
to Postfix when you apply that patch.

I have a locally developed web-based system where my users can decide
what kind of spam-protection they want. I'm planning to release that
some time in the future. Right now it needs some documentation and
cleaning up before I dare to release it :).

\EF

-- 
Erik Forsberg                 http://www.lysator.liu.se/~forsberg/
GPG/PGP Key: 1024D/0BAC89D9 <> 
Key Fingerprint: B308 87FC 566E 825A 5ABC  247C AC9B AB14 0BAC 89D9
-
To unsubscribe, send mail to  with content
(not subject): unsubscribe postfix-users







Hosted Email Solutions

Invaluement Anti-Spam DNSBLs



Powered By FreeBSD   Powered By FreeBSD