Table of Contents
Быстрые заметки по Exim
Exim как дефолтный MTA в системе
Разобраться как выставить exim дефолтным. Нет команды –set.
Пока просто удалил postfix (в итоге он все равно должен был быть удален)
[root@noc exim]# alternatives --display mta mta - status is auto. link currently points to /usr/sbin/sendmail.postfix /usr/sbin/sendmail.postfix - priority 30 slave mta-pam: /etc/pam.d/smtp.postfix slave mta-mailq: /usr/bin/mailq.postfix slave mta-newaliases: /usr/bin/newaliases.postfix slave mta-rmail: /usr/bin/rmail.postfix slave mta-rsmtp: (null) slave mta-runq: (null) slave mta-sendmail: /usr/lib/sendmail.postfix slave mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz slave mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz slave mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz slave mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz /usr/sbin/sendmail.exim - priority 10 slave mta-pam: /etc/pam.d/exim slave mta-mailq: /usr/bin/mailq.exim slave mta-newaliases: /usr/bin/newaliases.exim slave mta-rmail: /usr/bin/rmail.exim slave mta-rsmtp: /usr/bin/rsmtp.exim slave mta-runq: /usr/bin/runq.exim slave mta-sendmail: /usr/lib/sendmail.exim slave mta-mailqman: /usr/share/man/man8/exim.8.gz slave mta-newaliasesman: (null) slave mta-aliasesman: (null) slave mta-sendmailman: (null) Current `best' version is /usr/sbin/sendmail.postfix. [root@noc exim]# alternatives --config mta There are 2 programs which provide 'mta'. Selection Command ----------------------------------------------- *+ 1 /usr/sbin/sendmail.postfix 2 /usr/sbin/sendmail.exim Enter to keep the current selection[+], or type selection number: 2
Запуск очереди
root@host# exiqgrep -i | xargs exim -M
или
root@host# exim -q -v
Удалить письмо из очереди
root@host# exim -Mrm 1ZEKTg-0001Vb-Kf
Если надо много писем, то можно так:
root@host# exiqgrep -i | xargs exim -M
или так
exipick -i | xargs exim -Mrm
Посмотреть заголовки письма
root@host# exim -Mvh 1ZEdbs-0007Ju-Gp
Посмотреть список писем в очереди
root@host# exim -bp
Будет видно id письма, поля from: и to:
Вывод:
20h 22K 1ZEdbs-0007Ju-Gp <aaa@bbb.ru> ccc@ddd.co.in D eee@fff.gov.cn
aaa@bbb.ru - поле from:
ccc@ddd.co.in - поле to:
D - флаг указывающий на то, что сообщение уже доставлено.
21h 2.9K 1ZEcyR-00075z-Mu <> *** frozen *** aaa@bbb.ru
* frozen * - сообщение заморожено, exim не будет пытаться переслать его.
Посчитать количество писем в очереди:
root@host# exim -bpс
Элементы конфигурации
Простая конфигурация exim c отправкой писем через gmail
Данную конфигурацию можно использовать когда в организации нет нормальных сопуствующих сервисов (своего домена, днс), а почту с машин мониторинга отправлять надо.
Простая конфигурация exim
Подобную конфигурацию можно использовать на машинах мониторинга для отправки алармов.
Есть контроль получателей сообщений.
Endpass
Используется при написании правил acl (c действием access) для того, что бы задать поведение exim при несовпадении условий правила.
Например, в одном из правил acl есть несколько условий:
accept domains = xxx.com endpass message = "No such user" verify = recipient
- Если письмо адресовано не домену xxx.com (условие domain), то письмо передается для дальнейшей проверки по оставшимся правилам acl.
Несовпадение условий правила acl произошло до endpass - письмо идет дальше. - Если письмо адресовано домену xxx.com, но не прошла проверка получателся (условие verify), то такое письмо дропается с сообщением “No such user”.
Несовпадение условий правила acl произошло после endpass - письмо дальше не идет. - Если письмо адресовано домену xxx.com (условие domain) и успешно прошла проверка получателя (условие verify), то такое письмо принимается и дальнейшая проверка по правилам acl прекращается.
Логи
Значение символов в логах Exim
<= message arrival (относительно самого Exim) => normal message delivery -> additional address in same delivery >> cutthrough message delivery *> delivery suppressed by -N ** delivery failed; address bounced == delivery deferred; temporary problem S= размер доставленного сообщения, пишется вместе с "=>"