LINUX.ORG.RU

почта


0

0

Здравствуйе! меня интересует вопрос! я написал скриптик, который кидает на проверку письмо спамассассину, после чего пишет в лог, дату от кого и кому письмо и ставится флаг Spam Yes - если в заголовке письма обнаружено Spam=Yes. Проблема в том, что outlook (Билгейтс ёмоё), если отправлять письмо нескольким пользователям пишет все имена ящиков не через запятую, а ставит перевод строки в заголовке. При проверке в лог так все и пишется с переводами строки. Как убрать перевод строки. И еще мне хотелось бы убрать всякие кракозяблики =?koi8-r?B?/MzY18nSwSDu1dLN1cjBzcXUz9fB?= =?D56?/MzY18nSwSDu1dLN1cjBzcXUz9fB?= и т.д.

Mon Apr 4 09:47:52 YEKST 2005 : Sender= <knigomir@mail.teles.ru> : Recipient= =?koi8-r?B?/MzY18nSwSDu1dLN1cjBzcXUz9fB?= <elvira_2000@pisem.net> "Книгомир Оренбург" <knigomir@mail.teles.ru> : Spam=No

хотелось бы видеть строку в логе вот так

Mon Apr 4 09:47:52 YEKST 2005 : Sender= knigomir@mail.teles.ru : Recipient= elvira_2000@pisem.net : Spam=No

программа #!/bin/sh

INSPECT_DIR=/var/spool/filter SENDMAIL="/usr/sbin/sendmail -i" SPAMASSASSIN=/usr/bin/spamassassin TMP=/tmp/spamassassin SPAMMAIL="spam@teles.ru" LOG=/var/log/spamassassin

# Exit codes from <sysexits.h> EX_TEMPFAIL=75 EX_UNAVAILABLE=69

cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }

# Clean up when done or when aborting. trap "rm -f $TMP/out.$$" 0 1 2 3 15

cat | $SPAMASSASSIN -P > $TMP/out.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; }

FLAG=`sed -ne '/^X-Spam-Flag:/p' /tmp/spamassassin/out.$$ | awk 'BEGIN { FS=": " ; } { print $2 }'` if [ "$FLAG" = "YES" ] then FROM=`sed -ne '/^Return-Path:/p' /tmp/spamassassin/out.$$ | awk -F: '{ print $2 }'`

заранее благодарен

anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.