Существует некий unlog.
Посмотрите на ftp://ftp.moldsat.md/pub/unix/perl/sendmail-log-analizer
Подобные скрипты есть на www.isp-unix.com
Можно писать и самим по логам, копящимся в файлах /var/log/maillog. Hапример, общее число писем, прошедших через sendmail за отчётный период, считается примерно так:
zcat /var/log/maillog*z | cat /var/log/maillog - | \ awk '/sendmail/{print $6}' | sort | uniq | wc -l
Евгений Кузаков предложил следующий вариант:
Взял патч Бармина к сендмаилу где-то тут... Только он для 8.8.5. прикрутил его для 8.9.3. компиляешь сендмаила с -DMAILACCT В итоге сендмаил пишет лог в /var/log/mailacct в формате: sun.oracle.ru!ru.oracle.com!vchernov LOCAL!piv 1455 17:54:49 21.09.98 sun.oracle.ru!ru.oracle.com!vchernov LOCAL!zdg 1455 17:54:49 21.09.98 А потом с тим можно делать что угодно... Например: #!/bin/sh if [ $# -lt 3 ]; then echo Usage: $0 maildomain month year printf "\tExample: $0 occ.ru 01 98\n\n" exit fi case "$2" in "01") monthname="Январь";; "02") monthname="Февраль";; "03") monthname="Март";; "04") monthname="Апрель";; "05") monthname="Май";; "06") monthname="Июнь";; "07") monthname="Июль";; "08") monthname="Август";; "09") monthname="Сентябрь";; "10") monthname="Октябрь";; "11") monthname="Ноябрь";; "12") monthname="Декабрь";; *) echo "Ну Вы, барин, даете..."; exit 1;; esac domain="$1" month="$2" year="$3" statfile=/var/log/mailacct #statfile=./mailacct awk ' BEGIN{ tos=0 toc=0 froms=0 fromc=0 } { if((index($0,domain)!=0)&&(index($5,sprintf("%s.%s",month,year))!=0)){ if((index($1,domain)!=0)){ fromc=fromc+1 froms=froms+$3 }else{ toc=toc+1 tos=tos+$3 } } } END { printf("Статистика домена %s за %s %s:\n",domain,monthname,year) printf("\tпришло почты на домен: %2.0f писем (%0.0f bytes)\n",toc,tos) printf("\tотправлено с домена: %2.0f писем (%0.0f bytes)\n",fromc,froms) }' domain=$domain month=$month year=$year < $statfile monthname=$monthname Пример: ./mailstat occ.ru 03 99 Статистика домена occ.ru за Март 99: пришло мочты на домен: 2783 писем (66523770 bytes) отправлено с домена: 353 писем (72424444 bytes)