Disclaimer To Outgoing Emails
Sistemden giden tüm e-postaların sonuna otomatik olarak bir metin eklemek çoğu kurumun yaptığı bir uygulamadır. Aşağıda bunun nasıl yapılcağını anlatacağım.
Sistemimiz Debian üzerinde Postfix şeklinde çalışıyor. Yapılacak işlemler şu şekildedir:
1. Mail mesajının body kısmının sonuna metin eklemek icin “alterMIME” paketini kullanacağız. Debian’da repo’dan gelmektedir.
Kurulum için:
# apt-get install altermime
2. Örnek script’i /etc/postfix dizinine kopyalayınız.
# cp /usr/share/doc/altermime/examples/postfix_filter.sh /etc/postfix/disclaimer
# chown vmail:vmail /etc/postfix/disclaimer
# chmod 750 /etc/postfix/disclaimer
#!/bin/sh
# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
# Exit codes from
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15
# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }
cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
/usr/bin/altermime --input=in.$$ \
--disclaimer=/etc/postfix/disclaimer.txt \
--disclaimer-html=/etc/postfix/disclaimer.txt \
--xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
$SENDMAIL -oi "$@"
3. Örnek metni kopyalayınız ve üzerinde değişikliğinizi yapınız:
# cp /usr/share/doc/altermime/examples/disclaimer.txt /etc/postfix/disclaimer.txt
4. Postfix ayarları:
# vi /etc/postfix/master.cf
smtp inet n - - - - smtpd
-o content_filter=dfilt:
[...]
[...]
dfilt unix - n n - - pipe
flags=Rq user=vmail argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}
5. Postfix restart edilir:
# /etc/init.d/postfix restart
Eğer sistemdeki her user için değilde sadece bazıları için çalışmasını isterseniz. Şu şekilde bir değişiklik yapabilirsiniz:
# vi /etc/postfix/disclaimer_addresses
Şeklinde bir dosya yaratıp içerisine çalışmasını istedğiniz kullanıcı adreslerini yazınız mesala.
Sonra Script 'i aşağıdaki gibi değiştirebilirsiniz:
#!/bin/sh
# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
####### Changed From Original Script #######
DISCLAIMER_ADDRESSES=/etc/postfix/disclaimer_addresses
####### Changed From Original Script END #######
# Exit codes from
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15
# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }
cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
####### Changed From Original Script #######
# obtain From address
from_address=`grep -m 1 "^From: " in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1`
if [ `grep -wi ^${from_address}$ ${DISCLAIMER_ADDRESSES}` ]; then
/usr/bin/altermime --input=in.$$ \
--disclaimer=/etc/postfix/disclaimer.txt \
--disclaimer-html=/etc/postfix/disclaimer.txt \
--xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
fi
####### Changed From Original Script END #######
$SENDMAIL "$@"
Recent Comments