Whitelisting via SQL lookup to other address book
Patrick Domack
patrickdk at patrickdk.com
Thu Apr 21 05:51:51 CEST 2011
Quoting Geoff Sweet <gorf at whootis.com>:
> Greetings everyone, I am running amavisd-new 2.6.4. It's been very
> stable for me. I would like to try to extend it a little via SQL.
> The vast majority of my virtual users read email via a web
> interface. That interface (horde) provides a fairly robust address
> book system. I'm hoping that someone could help me understand if it
> would be possible to tune the $sql_select_white_black_list and
> %sql_clause to look into that address book database for whitelisting.
>
> I can see in the structure of the table that the addresses in the
> address book are sorted via the address of the user. I also can see
> in the documentation how to build a SQL query that will return the
> same format of data as described in the README.sql.txt. What I am
> not totally clear on is what else I do or don't need to do.
>
> If I add the $sql_select_white_black_list into the amavisd.conf with
> my query, I then need to add the %sql_clause lines as well?
> Something like this:
>
> $sql_select_white_black_list = 'SELECT SOME STUFF';
> %sql_clause = (
> 'sel_wblist' => \$sql_select_white_black_list
> );
>
> Correct? If I understand correctly, anything else in the sql_clause
> that is left out defaults back to whatever is in the cofig file? Or
> do I have to uncomment the entire %sql_clause block and define the
> entire SQL structure?
>
> Thanks for the help,
>
> -Geoff Sweet
Modify for your own user mapping sql lookup method.
$sql_select_white_black_list =
"SELECT 'W' as wb from mail.virtual join horde.turba_objects".
" ON (virtual.address=turba_objects.owner_id)".
" WHERE (virtual.id=?) AND (turba_objects.object_email IN (%k))";
More information about the amavis-users
mailing list