{{tag>mail exim4 smtp "exim4-config" "dpkg-reconfigure"}}

====== Exim4 Smtp Server / Установка и настройка ======

  * aptitude install exim4
  * dpkg-reconfigure exim4-config

===== Debian =====

  * nano /etc/exim4/update-exim4.conf.conf
===== Настройка =====

Или запустить

<code bash>
$ dpkg-reconfigure exim4-config
</code>

  * **Mail Server configuration:** internet site; mail is sent and received directly using SMTP
  * **System mail name:** желательно вписываем сюда обратную зону для вашего IP интерфейса eth0. Либо просто full hostname сервера (mail.debian.pro, например)
  * **IP-addresses to listen on for incoming SMTP connections:** 127.0.0.1 (нам же не нужен open relay?)
  * **Other destinations for which mail is accepted:** вписываем через пробел домены, от имени которых нам нужно отправлять письма с этого сервера.
  * **Domains to relay mail for:** если не знаете зачем оно, то оставляйте пустое поле
  * **Machines to relay mail for:** аналогично, если не знаем — оставляем пустым
  * **Keep number of DNS-queries minimal (Dial-on-Demand)?** No
  * **Delivery method for local mail:** Maildir
  * **Split configuration into small files?** По желанию. Я ставлю No.
  * **Root and postmaster mail recipient:** Вбиваем email, если желаем на него перенаправлять почту адресованную postmaster и root

===== Статьи / Настройки / Документация =====

  * [[http://www.lissyara.su/doc/exim/4.70|Документация по Exim 4.70]]
  * [[system:exim|]]
  * http://habrahabr.ru/post/133215/ (базовые рекомендации)
  * http://kb.mediatemple.net/questions/658/How+can+I+create+an+SPF+record+for+my+domain%3F#gs
  * https://toster.ru/q/38727
  * [[https://habrahabr.ru/post/322616/|Настройка DKIM/SPF/DMARC записей или защищаемся от спуфинга]]


===== Команды =====

==== Информация по очередям (Queue) ====

Вывести информацию по колличеству писем в очереди

  exim -bpc
Вывести список сообщений в очереди (время в очереди, размер, идентификатор сообщения, отправитель, получатель)

  exim -bp
  
<code>
 1m  3.4K 1avKHb-0000RN-3n <> *** frozen ***
          noreply@host.ru

 1m  3.4K 1avKHb-0000RU-HJ <> *** frozen ***
          noreply@host.ru

 0m   555 1avKKR-0000Vl-Gq <my-email@yandex.ru>
          my-email@yandex.ru
</code>

Отображение всех сообщений в очереди (количество, объем, старых, новых, области, и итоги) 

  exiwhat
  
  50591 daemon: -q30m, listening for SMTP on [127.0.0.1]:25 [62.210.189.100]:25 [::1]:25

Отображает текущую очередь, с группировкой по имени хоста

  exim -bp | exiqsumm

Показывает что делаю процессы сервера exim

<code>  
Count  Volume  Oldest  Newest  Domain
-----  ------  ------  ------  ------

1    3481      3d      3d  altaiautoservice.ru
2    2560     19h     19h  jmail.com
8    27KB      7m      7m  mail.ru
1    5427      3d      3d  meil.ru
1    3481      4d      4d  motortula.ru
1    3481      3d      3d  razvalanet.ru
1    5427      4d      4d  tandex.ru
2    6963      7m      7m  yandex.ru
---------------------------------------------------------------
17    57KB      4d      7m  TOTAL
</code>

==== Поиск сообщений в очереди exiqgrep ====

Поиск в очереди сообщения от определенного отправителя

  exiqgrep -f [user]@example.com
Поиск в очереди сообщений для конкретного получателя/домена

  exiqgrep -r [user]@example.com
Вывод только Message-ID, как результат одного из двух поисковых запросов выше

  exiqgrep -i [ -r | -f ] ...
Вывод количества сообщений, как результат одного из поисковых запросов выше

  exiqgrep -c [ -r | -f ] ...
Вывод только Message-ID очереди

  exiqgrep -i

Для поиска только среди заблокированных( замороженных ) сообщений, используйте ключ -z, или -x для поиска только среди не заблокированных. Еще несколько ключей отвечающих за вывод результатов поиска

=== Ключи ===

  * -f Поиск в очереди сообщений для конкретного отправителя
  * -z Поиск в очереди замороженных сообщений
  * -x Поиск в очереди только не замороженных сообщений   
  * -r Поиск сообщений для определенного адресата 
  * -o Поиск сообщений, старее, указанного количества секунд.
  * 

[[system:edxim:exiqgrep|Флаги exiqgrep]]

==== Просмотр сообщений в очереди ====

Просмотр заголовков сообщения в очереди

  exim -Mvh
Просмотр тела сообщения в очереди

  exim -Mvb
Просмотр лога сообщения

  exim -Mvl

==== Управление очередью exim ====

Начать процесс выполнения очереди :!:

  exim -q -v
Начать процесс выполнения только для локальных получателей :!:

  exim -ql -v
Удалить сообщение из очереди

  exim -Mrm
Удалить все сообщения, которые старше, чем Х секунд из очереди (например, 5 дней будет 432 000 секунд)

  exiqgrep -o 432000 -i | xargs exim -Mrm
  
Удалить все сообщения поподающие под выражение
  exiqgrep -i -f sdmo-generators.com | xargs exim -Mrm

Заморозить все сообщения в очереди от отправителя

  exiqgrep -i -f email@example.com | xargs exim -Mf
Разморозить сообщения

  exim -Mt <message id> <message id> ... 

Просмотр заголовков сообщения в очереди

  exim -Mvh <message id>
Просмотр тела сообщения в очереди

  exim -Mvb <message id>
Просмотр лога сообщения

  exim -Mvl <message id>
Удалить все сообщения из очереди

  exiqgrep -i | xargs exim -Mrm

===== Утилиты =====

  * “exiwhat” - список, что делают процессы exim'a
  * “exiqgrep” - выбор из очереди
  * “exiqsumm” - суммирование очереди
  * “exigrep” - поиск по главному логу
  * “exipick” - выбор сообщений по различным критериям
  * “exicyclog” - ротация лог-файлов
  * “eximstats” - выбор статистики из логов
  * “exim_checkaccess” - проверка приёма адреса с данного IP
  * “exim_dbmbuild” - сборка файла DBM
  * “exinext” - извлечение информации повторов
  * “exim_dumpdb” - дамп БД подсказок
  * “exim_tidydb” - очистка БД подсказок
  * “exim_fixdb” - правка БД подсказок
  * “exim_lock” - блокировка файла почтового ящика (mailbox)
===== Аунтефикация / SPAM =====


  * PTR
  * SPF
    * https://help.yandex.ru/pdd/records.xml
    * https://support.google.com/a/answer/178723?hl=ru
  * DKIM
    * http://habrahabr.ru/post/173605/
    * http://habrahabr.ru/post/188880/
    * http://habrahabr.ru/sandbox/15888/
    * http://sveneld300.blogspot.ru/2012/08/dkim-phpmailer-51.html
    * https://toster.ru/q/22311
    * http://dk1.ca/2012/03/01/ses_dkim_php_route53/
    * http://drupal.stackexchange.com/questions/97793/how-can-i-set-dkim-in-phpmailer
    * http://habrahabr.ru/post/106589/
    * https://toster.ru/q/38727
    * https://support.google.com/a/answer/174124?hl=ru

==== Сервис проверки почтового сервера ====

  * http://mxtoolbox.com/SuperTool.aspx

==== Сервис проверки наличия в Blacklist ====


  * http://www.spamhaus.org/query/ip/109.234.152.109
  * http://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a109.234.152.109&run=toolpage