Как отмечено ранее, Exim способен доставить сообщения немедленно или
поставить их в очередь для последующей обработки. Вся входящая почта будет
сохранена в подкаталоге
input
ниже каталога
/var/spool/exim
. Когда формирование очереди не
выполняется, процесс поставки будет начат для каждого сообщения, как только
оно прибудет. Иначе оно будет оставлено в очереди, пока процесс
queue-runner не подберет его. Формирование очереди
может быть сделано безусловным, устанавливая
queue_only
в файле конфигурации, или условным, в зависимости от загрузки системы
на протяжении минуты. Например:
Это заставляет сообщения встать в очередь, если загрузка системы превышает 4.
Если Ваш компьютер постоянно не соединен с Internet, можно включить
формирование очереди для удаленных адресов, но разрешить Exim выполнять
локальные доставки немедленно. Вы можете сделать это, устанавливая в файле
конфигурации:
Если Вы включаете любую форму формирования очереди, Вы должны
удостовериться, что очереди проверяются регулярно, вероятно каждые 10 или 15
минут. Даже без явных параметров формирования очередей, все они должны быть
проверены: в них могут быть сообщения, которые были отсрочены из-за временных
сбоев доставки. Если Вы выполняете Exim в daemon-режиме, Вы должны добавить
опцию -q15m
в командной строке, чтобы обрабатывать
очередь каждые 15 минут. Вы можете также вызывать exim -q
из cron в этих интервалах.
Вы можете отображать текущую очередь почты, вызывая Exim с опцией
-bp
. Аналогично Вы можете сделать
mailq связью с Exim и вызывать
mailq:
$ mailq
2h 52K 12EwGE-0005jD-00 <sam@vbrew.com>
D bob@vbrew.com
harry@example.net
|
Это показывает одно сообщение из
sam@vbrew.com
двум получателям. Оно было нормально доставлено
bob@vbrew.com, но пока не доставлено
harry@example.net, хотя ждет в очереди уже
два часа. Размер сообщения 52K, идентификатор (ID), которым Exim
идентифицирует это сообщение,
12EwGE-0005jD-00
. Вы
можете выяснить, почему доставка еще не завершена, с помощью индивидуального
журнала сообщения, который сохраняется в подкаталоге
msglog
каталога spool для Exim. Опция
-Mvl
дает
простой путь выполнения этого:
$ exim –Mvl 12EwGE-0005jD-00
2000-01-30 17:28:13 example.net [192.168.8.2]: Connection timed out
2000-01-30 17:28:13 harry@example.net: remote_smtp transport deferred:
Connection timed out
|
Индивидуальные журналы хранят копию записей файла регистрации для каждого
сообщения, так что Вы можете легко смотрить их. Та же самая информация могла
бы быть извлечена из основного журнал, используя утилиту
exigrep:
$ exigrep 12EwGE-0005jD-00 /var/log/exim/exim_mainlog
|
Это заняло бы больше времени, особенно на занятой системе, где журналы могут
быть огромными. Утилита
exigrep полезна при поиске
нескольких сообщений. Первый параметр является регулярным выражением. Утилита
выбирает все строки файла регистрации, связанные с любым сообщением, которое
имеет по крайней мере одну строку файла регистрации, соответствующую
заданному выражению. Таким образом, эта утилита может использоваться, чтобы
выбрать все сообщения для одного адреса или все, которые пришли с
определенного компьютера.
Вы можете сохранить немало времени, используя с Exim команду
tail на основном журнале. Другой путь выполнения
этого: используйте утилиту eximon, которая
поставляется с Exim. Это X11-программа, которая показывает листающийся
дисплей основного файла регистрации и показывает список сообщений, которые
ожидают доставки вместе с краткой информацией относительно доставки.