User Tools

Site Tools


qnote:exim

This is an old revision of the document!


Быстрые заметки по Exim

Запуск очереди

root@host# exiqgrep -i | xargs exim -M
или
root@host# exim -q -v


Удалить писmмо из очереди

root@host# exim -Mrm 1ZEKTg-0001Vb-Kf
Если надо много писем, то можно так:
root@host# exiqgrep -i | xargs exim -M


Посмотреть заголовки письма

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

Подобную конфигурацию можно использовать на машинах мониторинга для отправки алармов.
Есть контроль получателей сообщений.

Простоя конфигурация exim

Простоя конфигурация exim

 primary_hostname = noc.mydomain.ru

 #domainlist local_domains = @ : localhost : localhost.localdomain
 domainlist local_domains = @ : localhost
 #domainlist relay_to_domains =
 hostlist   relay_from_hosts = 127.0.0.1

 daemon_smtp_ports = 25
 local_interfaces = 127.0.0.1

 never_users = root
 rfc1413_hosts = *
 rfc1413_query_timeout = 5s
 ignore_bounce_errors_after = 2d
 timeout_frozen_after = 7d

 begin routers

 mydomain_ex_router:
         condition = ${lookup {$local_part@$domain} lsearch {/etc/exim4/to_exchange} {yes} {no} }
         driver = manualroute
         transport = remote_smtp
         route_data = 10.10.10.253

 dnslookup:
         condition = ${lookup {$local_part@$domain} lsearch {/etc/exim4/to_inet} {yes} {no} }
         driver = dnslookup
         transport = remote_smtp
         ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
         no_more

 system_aliases:
   driver = redirect
   allow_fail
   allow_defer
   data = ${lookup{$local_part}lsearch{/etc/aliases}}
 # user = exim
   file_transport = address_file
   pipe_transport = address_pipe


 localuser:
   driver = accept
   check_local_user
 # local_part_suffix = +* : -*
 # local_part_suffix_optional
   transport = local_delivery
   cannot_route_message = Unknown user

localuser:
   driver = accept
   check_local_user
 # local_part_suffix = +* : -*
 # local_part_suffix_optional
   transport = local_delivery
   cannot_route_message = Unknown user

begin transports

 remote_smtp:
   driver = smtp

 local_delivery:
   driver = appendfile
   file = /var/mail/$local_part
   delivery_date_add
   envelope_to_add
   return_path_add
   group = mail
   mode = 0660

 address_pipe:
   driver = pipe
   return_output

 address_file:
   driver = appendfile
   delivery_date_add
   envelope_to_add
   return_path_add


begin retry

 *                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h

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=    размер доставленного сообщения, пишется вместе с "=>"
qnote/exim.1497260454.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki