User Tools

Site Tools


qnote:exim

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
qnote:exim [2017/04/19 14:22] kqnote:exim [2024/10/09 13:48] (current) – [Удалить письмо из очереди] k
Line 1: Line 1:
 ===== Быстрые заметки по Exim ===== ===== Быстрые заметки по Exim =====
 +
 +==== Exim как дефолтный MTA в системе ====
 +
 +FIXME Разобраться как выставить exim дефолтным. Нет команды --set. \\
 +FIXME Пока просто удалил postfix (в итоге он все равно должен был быть удален)
 + 
 +<code>
 +[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
 +             /usr/sbin/sendmail.exim
 +
 +Enter to keep the current selection[+], or type selection number: 2   
 +</code>
 +
 ==== Запуск очереди ==== ==== Запуск очереди ====
 root@host# exiqgrep -i  | xargs exim -M\\ root@host# exiqgrep -i  | xargs exim -M\\
Line 7: Line 54:
 ---- ----
  
-==== Удалить писmмо из очереди ===+==== Удалить письмо из очереди ===
 root@host# exim -Mrm 1ZEKTg-0001Vb-Kf\\ root@host# exim -Mrm 1ZEKTg-0001Vb-Kf\\
 +
 Если надо много писем, то можно так:\\ Если надо много писем, то можно так:\\
-root@host# exiqgrep -i  | xargs exim -M+root@host# exiqgrep -i  | xargs exim -M\\ 
 +[[https://handyhost.ru/help/vps-i-vyidelennyie-servera/kak-ochistit-ochered-exim.html|или так]]\\ 
 +exipick -i | xargs exim -Mrm 
 + 
  
 ----  ---- 
Line 42: Line 94:
 Посчитать количество писем в очереди:\\ Посчитать количество писем в очереди:\\
 root@host# exim -bpс root@host# exim -bpс
 +
 +----
 +
 +===== Элементы конфигурации =====
 +
 +==== Простая конфигурация exim c отправкой писем через gmail ====
 +
 +Данную конфигурацию можно использовать когда в организации нет нормальных сопуствующих сервисов (своего домена, днс), а почту с машин мониторинга отправлять надо. 
 +
 +<hidden Конфигурация exim, gmail как релей> 
 +<code>
 +primary_hostname = noc1
 +
 +domainlist local_domains = @ : localhost
 +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
 +
 +send_via_gmail:
 +  condition = ${lookup {$local_part@$domain} lsearch {/etc/exim/to_inet} {yes} {no} }
 +  driver = manualroute
 +  domains = ! +local_domains
 +  transport = gmail_smtp
 +  route_list = * smtp.gmail.com
 +
 +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
 +
 +begin transports
 +
 +gmail_smtp:
 +  driver = smtp
 +  port = 587
 +  hosts_require_auth = *
 +  hosts_require_tls = *
 +
 +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 authenticators
 +
 +gmail_login:
 +  driver = plaintext
 +  public_name = LOGIN
 +  client_send = : XXXX@gmail.com : PASSWORD6
 +
 +begin retry
 +
 +*  *   F,2h,15m; G,16h,1h,1.5; F,4d,6h[root@noc1 mail]# 
 +</code>
 +</hidden>
 +
 +==== Простая конфигурация exim ====
 +Подобную конфигурацию можно использовать на машинах мониторинга для отправки алармов.\\
 +Есть контроль получателей сообщений. 
 +
 +<hidden Простая конфигурация exim>
 +<code>
 + 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
 +
 +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
 +</code>
 +</hidden>
 +
 +----
 +
 +==== Endpass ====
 +Используется при написании правил acl (c действием access) для того, что бы задать поведение exim при несовпадении условий правила.\\ 
 +
 +
 +
 +Например, в одном из правил acl есть несколько условий:
 +<code>
 +accept      domains         = xxx.com
 +            endpass
 +            message         = "No such user"
 +            verify          = recipient
 +</code>
 +
 +  * Если письмо адресовано не домену xxx.com (условие domain), то письмо передается для дальнейшей проверки по оставшимся правилам acl. \\ **Несовпадение условий правила acl произошло до endpass - письмо идет дальше.**
 +  * Если письмо адресовано домену xxx.com, но не прошла проверка получателся (условие verify), то такое письмо дропается с сообщением "No such user" \\ **Несовпадение условий правила acl произошло после endpass - письмо дальше не идет. **
 +  * Если письмо адресовано домену xxx.com (условие domain) и успешно прошла проверка получателя (условие verify), то такое письмо принимается и дальнейшая проверка по правилам acl прекращается. 
 +
 +
  
 ---- ----
qnote/exim.1492600939.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki