Exim (от англ. EXperimental Internet Mailer) — это агент пересылки сообщений, используемый в операционных системах семейства Unix. Первая версия была написана в 1995 году Филиппом Гейзелом (Philip Hazel) для использования в качестве почтовой системы в Кембриджском Университете. Exim распространяется под лицензией GPL, и каждый может свободно скачать его, использовать и модифицировать. Следует отметить, что версия 4 существенно отличается от версии 3.
Exim придерживается дизайна sendmail, где один процесс контролирует всю работу MTA. Такой монолитный дизайн считается небезопасным, но у Exim прекрасная история безопасности и для версии 4.xx. крайне редки критические уязвимости.
Exim 4 спроектирован для систем, имеющих постоянное подключение к сети, поэтому в нём нет сложных механизмов работы с очередью, через которую должны проходить все сообщения. В настройке по умолчанию Exim пытается немедленно доставить сообщение. При большой нагрузке на сервере режим немедленной доставки может быть временно выключен.
Вывести количество сообщений в очереди:
1 | exim -bpc |
Печать списка сообщений в очереди. Выводятся, время постановки в очередь, размер, ID сообщения, отправитель, получатель:
1 | exim -bp |
Печать суммарной информации. Выводимые колонки: количество, объем, старейшее, последнее, домен.
1 | exim -bp | exiqsumm |
Чем в данный момент занимается Exim:
1 | exiwhat |
Тестирование маршрута доставки до указанного адреса:
1 | exim -bt [email protected] |
Эмитировать SMTP транзакцию из командной строки, как если-бы сообщение пришло с указанного IP адреса. При этом будет показано прохождение и срабатывание проверок, фильтров и листов доступа (ACL). На самом деле, никакое сообщение никуда доставлено не будет.
1 | exim -bh 10.10.10.1 |
Листинг всех настроек конфигурации exim:
1 | exim -bP |
Управление очередями сообщений
Запуск очереди:
1 | exim -q -v |
Запуск очереди только для локальных доставок:
1 | exim -ql -v |
Удалить сообщение из очереди:
1 | exim -Mrm <strong>ID-message</strong> |
Заблокировать( заморозить ) сообщение:
1 | exim -Mf <strong><code>ID-message |
Разблокировать сообщение:
1 | exim -Mt <strong><code>ID-message |
Доставить сообщение, вне зависимости от состояния блокировки или времени повторной доставки:
1 | exim -M <strong><code>ID-message |
Доставить сообщение, только если достигнуто время для повторной доставки:
1 | exim -Mc <strong><code>ID-message |
Принудительно остановить сообщение с формулировкой «отменено администратором»:
1 | exim -Mg <strong><code>ID-message |
Очистит все заблокированные сообщения из очереди:
1 | exipick -zi | xargs exim -Mrm |
Очистит все сообщения из очереди:
1 | exipick -i | xargs exim -Mrm |
Удалить все заблокированные сообщения:
1 | exiqgrep -z -i | xargs exim -Mrm |
Удалить все сообщения, старше 10 дней (86400 * 10 = 864000 секунд):
1 | exiqgrep -o 864000 -i | xargs exim -Mrm |
Заблокировать все письма от указанного отправителя:
1 | exiqgrep -i -f [email protected] | xargs exim -Mf |
Просмотреть заголовки сообщений:
1 | exim -Mvh |
Просмотреть тело сообщений:
1 | exim -Mvb |
Просмотр логов сообщения:
1 | exim -Mvl |
Добавить получателя в сообщение:
1 | exim -Mar <strong><code>ID-message |
Редактировать отправителя сообщения:
1 | exim -Mes |