Имеется ряд вещей, которые Вы можете использовать, чтобы сделать управление sendmail более эффективным. Ряд инструментальных средств управления обеспечивается пакетом sendmail.
Почтовая очередь хранится в каталоге /var/spool/mqueue. Программа sendmail обеспечивает средства показа форматируемого списка всех помещенных в очередь сообщений почты и их состояния.
Команда /usr/bin/mailq ведет себя идентично:
# sendmail -bp |
$ mailq Mail Queue (1 request) --Q-ID-- --Size-- -----Q-Time----- ------------Sender/Recipient------------ RAA00275 124 Wed Dec 9 17:47 root (host map: lookup (tao.linux.org.au): deferred) terry@tao.linux.org.au |
Мы можем вынуждать sendmail начать обрабатывать очередь немедленно командой /usr/bin/runq.
Команда runq не производит вывода. sendmail начнет обрабатывать очередь почты в фоне.
Если Вы используете временное подключение к Internet по модему с фиксированным (fixed) IP-адресом и полагаетесь на MX-хост для сбора почты в то время, когда соединение не установлено, Вы найдете очень полезной возможность вынудить MX-хост обрабатывать очередь почты после того, как Вы устанавливаете связь.
Маленькая программа на языке perl включена в пакет sendmail именно для этого. Скрипт etrn имеет тот же эффект на удаленном хосте, какой команда runq имеет на Вашем. Если мы вызываем команду etrn, как показано в этом примере:
# etrn vstout.vbrew.com |
Обычно стоит добавить эту команду к скрипту PPP ip-up, чтобы она была выполнена сразу после того, как сетевое подключение будет установлено.
Пакет sendmail собирает данные относительно объемов передачи почты и некоторую информацию относительно хостов, которым она была доставлена. Там есть две команды, чтобы отображать эту информацию: mailstats и hoststat.
Команда mailstats отображает статистику по объему почты, обработанной sendmail. Время, за которое была собрана информация, печатается в начале, за ним следует таблица с одной строкой для каждого конфигурированного транспорта и одной, показывающей общее количество всей почты. Каждая строка представляет восемь элементов:
Поле | Значение |
---|---|
M | Транспортный протокол |
msgsfr | Число принятых сообщений |
bytes_from | Объем принятой почты в килобайтах |
msgsto | Число переданных сообщений |
bytes_to | Объем передаиной почты в килобайтах |
msgsreg | Сколько сообщений отклонено |
msgsdis | Сколько сообщений пропущено |
Mailer | Имя транспортного агента |
Пример 18-5. Образец вывода команды mailstats
# /usr/sbin/mailstats Statistics from Sun Dec 20 22:47:02 1998 M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis Mailer 0 0 0K 19 515K 0 0 prog 3 33 545K 0 0K 0 0 local 5 88 972K 139 1018K 0 0 esmtp ============================================================= T 121 1517K 158 1533K 0 0 |
Эти данные будут собраны, если опция StatusFile в sendmail.cf включена и файл состояния существует. Обычно Вы добавили бы следующее к sendmail.cf:
# status file O StatusFile=/var/log/sendmail.st |
Для перезапуска сбора статистики, Вы должны обнулить файл статистики:
> /var/log/sendmail.st |
Команда hoststat отображает информацию относительно состояния хостов, которым sendmail попытался доставить почту. Вызов hoststat эквивалентен вызову:
sendmail -bh |
Вывод представляет каждый хост на своей строке, и для каждого указывается время доставки почты и ее состояние.
Пример 18-6 показывает образец вывода команды hoststat. Обратите внимание на то, что большинство результатов указывают на успешную доставку. Результат для earthlink.net, с другой стороны, указывает на то, что доставка была неудачна. Сообщение состояния может иногда помочь определить причину сбоя. В этом случае, подключение было закрыто по окончании тайм-аута потому, что хост был выключен или недоступен.
Пример 18-6. Образец вывода команды hoststat
# hoststat -------------- Hostname ---------- How long ago ---------Results--------- mail.telstra.com.au 04:05:41 250 Message accepted for scooter.eye-net.com.au 81+08:32:42 250 OK id=0zTGai-0008S9-0 yarrina.connect.com.a 53+10:46:03 250 LAA09163 Message acce happy.optus.com.au 55+03:34:40 250 Mail accepted mail.zip.com.au 04:05:33 250 RAA23904 Message acce kwanon.research.canon.com.au 44+04:39:10 250 ok 911542267 qp 21186 linux.org.au 83+10:04:11 250 IAA31139 Message acce albert.aapra.org.au 00:00:12 250 VAA21968 Message acce field.medicine.adelaide.edu.au 53+10:46:03 250 ok 910742814 qp 721 copper.fuller.net 65+12:38:00 250 OAA14470 Message acce amsat.org 5+06:49:21 250 UAA07526 Message acce mail.acm.org 53+10:46:17 250 TAA25012 Message acce extmail.bigpond.com 11+04:06:20 250 ok earthlink.net 45+05:41:09 Deferred: Connection time |
Команда purgestat сбрасывает собранные статистические данные и является эквивалентной вызову:
# sendmail -bH |
Статистика продолжит расти, пока Вы не очистите (сбросите) ее. Вы могли бы периодически выполнять команду purgestat, чтобы искать недавние записи, особенно, если Вы имеете сильно загруженный сайт. Вы могли бы поместить команду в файл crontab, чтобы очистка статистики выполнялась автоматически, или делать это только непосредственно.
Назад | Глобальное оглавление | Вперед |
Запуск sendmail | Локальное оглавление | Получение и запуск Exim |