[Postfixbuch-users] disclaimer in postfix mit kav und altermime
Oliver Rau
oliver.rau at koeln.de
Fr Mär 2 15:49:40 CET 2007
hallo zusammen,
erstmal herzlichen dank an alle, die mir bei meinem problem geholfen
haben, ich habe wieder was dazu und postfix noch mehr schaetzen gelernt :-)
wie versprochen, hier die (vorlaeufig) finale version eines
disclaimer-scripts und die dazugehoerige abgeaendert master.cf,
vielleicht hilft es dem einen oder anderen...
#!/bin/bash
### sender domains...
SENDER_DOMAIN_1=systemlogistik.dpd.de
SENDER_DOMAIN_2=depot108.dpd.de
SENDER_DOMAIN_3=depot109.dpd.de
SENDER_DOMAIN_4=depot180.dpd.de
SENDER_DOMAIN_5=depot182.dpd.de
SENDER_DOMAIN_6=depot184.dpd.de
SENDER_DOMAIN_7=depot186.dpd.de
SENDER_DOMAIN_8=depot187.dpd.de
COPYRIGHT_HEADER="X-Copyrighted-Material: Please visit http://www.dpd.net"
INSPECT_DIR=/var/spool/discl
### where to find binaries...
SENDMAIL=/usr/sbin/sendmail
ALTERMIME=/usr/local/bin/altermime
### exit codes...
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
### cleaning up...
trap "rm -f in.$$" 0 1 2 3 15
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist ; exit $EX_TEMPFAIL; }
cat >in.$$ || { echo cannot save file; exit $EX_TEMPFAIL; }
### filter domain from sender...
DOMAIN=${2##*@}
### just allowed domains receive disclaimer...
case "$DOMAIN" in
"$SENDER_DOMAIN_1" | \
"$SENDER_DOMAIN_2" | \
"$SENDER_DOMAIN_3" | \
"$SENDER_DOMAIN_4" | \
"$SENDER_DOMAIN_5" | \
"$SENDER_DOMAIN_6" | \
"$SENDER_DOMAIN_7" | \
"$SENDER_DOMAIN_8" )
$ALTERMIME --input=in.$$ \
--input=in.$$ >> /tmp/altermime.log \ ### nur fuer
debugging
--disclaimer=/etc/postfix/disclaimer.txt \
--disclaimer-html=/etc/postfix/disclaimer.html \
--debug \ ### nur fuer debugging
--xheader="$COPYRIGHT_HEADER" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
;;
*)
### all other get xheader...
$ALTERMIME --input=in.$$ \
--xheader="$COPYRIGHT_HEADER" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
;;
esac
### back to postfix...
$SENDMAIL -t -i "$@" <in.$$
### ...and bye
exit $?
master.cf
----------------------------------------------------------
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
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - - - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - 8 local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop
-f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
${nexthop} ${user} ${extension}
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}
----------------------------------------------------------
main.cf:
...
content_filter = lmtp:127.0.0.1:10030
...
Kai Fürstenberg schrieb:
> Jim Knuth schrieb:
>
>>Heute (02.03.2007/00:08 Uhr) schrieb Oliver Rau,
>>
>>
>>>hallo zusammen,
>>
>>>die klammerung hat nichts gebracht (die idee hatte ich auch schon); ich
>>>habe einfach die if-abfrage rausgenommen (zurueck zum original) und
>>>siehe da, der disclaimer haengt an der email, siehe source der mail.
>>>nach den abschliessenden tests poste ich morgen die komplette conf zum
>>>topic...
>>
>>ich verfolge das hier schon ne Weile ;) Hängt dann an jeder Mail
>>son Ding dran? Oder kann man das nur für Domain X machen und der
>>Rest (virtuelle Domains auf dem Server) bleibt ohne?
nein, nur an mails, die von den definierten domains kommen
> Sollte vielleicht noch(mal) anmerken: In der Version die ich zuletzt mal
> verwendet habe (irgendein 0.3.7-Development) wurde der Disclaimer nicht
> korrekt eingefügt, wenn die Mail sowohl einen Rein-Text-Teil, als auch
> einen HTML-Teil, als auch ein Attachment enthält. In diesem speziellen
> Fall wurde in den HTML-Teil kein Disclaimer eingefügt, jedoch im
> Text-Teil. Die anderen Kombinationen aus Text, HTML und Attachment
> funktionieren.
verwende auch die letzte dev-version, habe soweit alle -so denke ich ;-)
- moeglichkeiten durchgespielt und es hat funktioniert.
ein daemlicher outlook will mir zwar noch weissmachen, dass 'unnuetze
zeilenumbrueche' von ihm entfernt werden muessen, aber das ist dann wohl
nur noch kosmetischer kram.
>
> Kai
freundliche gruesse
oliver
Mehr Informationen über die Mailingliste Postfixbuch-users