[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

amavis-new problem mit local_domains_acl



hallo zusammen,

ich habe hier einen netten postfix server mit mysql als backend am laufen.
ich habe nun amavis-new mit clamav und spamassassin integriert.
auf meinem server liegen mehrere virtuelle domains in der datenbank.
ich möchte nun, dass mein amavis-new sämtliche mails nach viren scannt
und auf spam überprüft. das virenscannen funzt soweit auch ganz gut,
der spamcheck funktioniert jedoch _nur_, wenn alle (virtuellen) domains in
dem array @local_domains bzw. @local_domains_ac aufgeführt sind.
ist der array jedoch leer bzw. auskommentiert führt amavis-new den
spamcheck zwar durch, tagged bzw. markiert aber nichts.
auf dem mailserver kommen laufend domains hinzu beziehungsweise
gehen wieder weg.

mein erster gedanke zur lösung des problems:
---------------------------------------------------------------------------
die domains mittels einem kleinen perlskript aus der datenbank
auszulesen und täglich
in ein file schreiben. das fällt jedoch flach, da der amavis-new daemon
dann täglich neu gestartet
werden müsste da modifikationen nicht zur laufzeit erkennt


mein zweiter gedanke zur lösung des problems:
----------------------------------------------------------------------------
hm, amavis-new unterstützt ja sql-lookups. das könnte was sein, da hier
der inhalt
der datenbank ändert und amavis-new das so ohne neustart mitbekommt.
garnicht so easy.

ich habs also folgendermaßen versucht, die datenbank beinhaltet eine
tabelle 'domain' in der sämtliche domains mit deren transport gelistet
sind. ein einfaches
statement sollte also reichen um eine liste der domains zu bekommen

denkste  in der amavisd.conf

 ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'user',
'passwdXXX'] );
@local_domains = 'SELECT domain FROM domain';



amavis-new frägt lauf logfile trotzdem was anderes laut mysql.log ab:
Query SELECT *,users.id FROM users,policy W
HERE (users.policy_id=policy.id) AND (users.email IN ('werner@example.com
','@example.com','@.')) ORDER BY users.priority DESC

also hab ich's auf die harte art versucht, in dem ich meinen dbi connect
selbst
einbaue, schliesslich ist amavis-new ja perl


my $SQL=qq{SELECT d_domain FROM domain};
my $query=$lookup_sql_dsn[0]->prepare($SQL);
$query->execute();
@local_domains=$query->fetchrow_array;
$query->finish();

mag er auch nicht, war ja klar. ich bin hier am ende meines lateins, ich
möchte dohc nur, dass mein amavis-new für sämtliche domains auf viren
und spam prüft, ohne ständig
die @local_domains bzw. @local_domains_ac editieren und amavis-new
anschliessen
neu starten zu müssen.

ich hoffe ihr könnt mir einen tipp geben,

schöne grüsse,

werner



Reply to: