[Postfixbuch-users] disclaimer in postfix mit kav und altermime
Kai Fürstenberg
kai_lists_postfixbuch at fuerstenberg.ws
Do Mär 1 15:40:11 CET 2007
Oliver Rau wrote:
>
> Kai Fürstenberg schrieb:
>>
>> Mmmmh. Damit könntest du Recht haben. :-(
>> Dann wäre vielleicht
>> pickup fifo n - n 60 1 pickup
>> -o content_filter=lmtp:127.0.0.1:10030
>> pickup2 fifo n - n 60 1 pickup
>>
>> discl unix - n n - - pipe
>> flags=Rq user=discl argv=/etc/postfix/disclaimer
>> -f ${sender} -- ${recipient}
>> -o content_filter=
>> -o pickup_service_name=pickup2
>>
>> ein Ansatz.
>
> das funktioniert leider so auch nicht, da
> 1. wieder den lmtp-loop drin
> 2. recipient wird nicht uebergeben siehe log
Aaaaarrrghl. OK.
> problem/fehler im disclaimer script?
Wohl eher nicht, oder aber ja (s.u):
> Mar 1 12:53:10 mail postfix/lmtp[6986]: A6C8380B:
> to=<content_filter=@mail.systemlogistik.dpd.de>,
> orig_to=<content_filter=>, relay=127.0.0.1[127.0.0.1], delay=0,
> status=bounced (host 127.0.0.1[127.0.0.1] said: 552
> <content_filter=@mail.systemlogistik.dpd.de> Error ! (in reply to end
^^^^^^^^^^^^^^^^^^^^^^
> of DATA command))
Die -o-Parameter werden dem Disclaimer-Skript als Empfänger übergeben.
:-( Geht also nicht.
Überlegung: Die Content-Filter umdrehen. Das Problem ist, dass das
Script eine _neue_ Mail generiert, die dann wieder durch das ganze
System geht und auch wieder beim Disclaimer landet (Danke für den
Hinweis mit dem Fehler im Script). Dann hast du deinen Loop.
Beim smtpd den content-filter auf discl setzen, pickup belassen, pickup2
löschen. Main.cf kann bleiben. Ganz unten hab ich eine Zusammenfassung.
Dann folgt:
Scenario 1: Postfix zum relayen:
Das Skript bekommt die Mail über smtpd mit content_filter=discl, ergänzt
den Disclaimer und schickt die Mail wieder an postfix. Um genau zu sein,
schickt er eine neue. Pickup (mit content_filter auf KAV) greift sich
die Mail und schickt sie an den Virenscanner. Der gibt die Mail zurück
auf Port 10031 wo der content_filter gelöscht wird. Die Mail wird dann
über smtp (nicht smtpd) weiterverschickt an den relay_host.
Scenario 2: Postfix bekommt von extern eine Mail zur lokalen Zustellung:
Das Skript kekommt die Mail über smtpd mit content_filter=discl. Jetzt
wird aber kein Disclaimer gesetzt (wegen if-Abfrage auf lokale
Absenderadresse). Trotzdem schickt das Skript eine neue Mail. Pickup
greift die Mail auf und jagt sie durch den KAV (wegen seinem eigenen
content_filter). Auch jetzt wird wieder auf Port 10031 der
content_filter gelöscht und dann über local zugestellt.
Zusammengefasst:
smtp inet n - n - - smtpd
-o content_filter=discl:
pickup fifo n - n 60 1 pickup
-o content_filter=lmtp:127.0.0.1:10030
127.0.0.1:10030 inet n n n - 20 spawn
user=kluser argv=/opt/kav/5.5/kav4mailservers/bin/smtpscanner
127.0.0.1:10031 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
discl unix - n n - - pipe
flags=Rq user=discl argv=/etc/postfix/disclaimer -f ${sender} --
${recipient}
Bisher haben wir immer versucht, den Disclaimer _nach_ dem Virenscan
anzufügen.
Kai
Mehr Informationen über die Mailingliste Postfixbuch-users