EXIM разное
Листы контроля доступа (Access Control List, ACL)
Exim предоставляет возможность использовать, листы контроля доступа (ACL) на различных этапах SMTP передачи. Условия ACL назначаются в конфигурационном файле exim.conf. Начать имеет смысл с HELO.
# Назначить ACL для использования после команды HELO
acl_smtp_helo = check_helo
# Условия проверки check_helo для ACL:
check_helo:
 
    deny message = Gave HELO/EHLO as "friend"
    log_message = HELO/EHLO friend
    condition = ${if eq {$sender_helo_name}{friend} {yes}{no}}
    deny message = Gave HELO/EHLO as our IP address
    log_message = HELO/EHLO our IP address
    condition = ${if eq {$sender_helo_name}{$interface_address} {yes}{no}}
   accept  
Используйте проверку HELO на свой страх и риск. Сейчас HELO не имеет такого большого значения в общей схеме SMTP, так что не стоит сильно доверять его содержимому. Не только спамеры используют строку HELO, вы будете удивлены сколько нормальных сообщений может приходить с кривым HELO. Спамерам не составит труда отправлять сообщения с легальной строкой HELO а не писать там "я спамер", так что много спама вы на этом не отсеете.
Далее, вы можете провести проверку по отправителю или удаленному хосту. В примере показано как фильтровать по содержимому, идущему после команды RCPT TO. Если прием сообщения будет отклонен в этом месте, вы получите больше данных в логах, нежели при блокировке по MAIL FROM.
# Назначит проверку содержимого после RCPT TO
 acl_smtp_rcpt = check_recipient
# Условия для check_recipient ACL
 check_recipient:
     # [...]
    drop hosts = /etc/exim_reject_hosts
    drop senders = /etc/exim_reject_senders
    # [ Probably a whole lot more... ]
В приведенном примере для блокировки используются два текстовых файла. В файл /etc/exim_reject_hosts, значения добавляются в виде: имя_хоста/IP_адрес, в файл /etc/exim_reject_senders в виде адреса отправителя, по одной записи в строке.
Кроме того, можно сканировать содержимое сообщения, на предмет совпадения с регулярным выражением. Имейте в виду, это дает дополнительную нагрузку на процессор, особенно на больших сообщениях.
# Назначить ACL для использования после команды DATA
acl_smtp_data = check_message
# Условия проверки для check_messages ACL
check_message:
    deny message = "Sorry, Charlie: $regex_match_string"
    regex = ^Subject:: .*Lower your self-esteem by becoming a sysadmin
   accept
Исправление SMTP аутентификации для pine
В случае, если pine не может использовать аутентификацию на сервере Exim, возвращая сообщение "unable to authenticate", без запроса на ввод пароля, нужно добавить в exim.conf следующие строки.
  begin authenticators
  fixed_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = "${perl{checkuserpass}{$1}{$2}{$3}}"
  server_set_id = $2
>  server_prompts = :
Некоторое время назад, данная проблема имела место быть в CPanel, на текущий момент этот недочет исправлен.
Запись в лог файл заголовка Subject
Один из самых полезных хаков конфигурации Exim. Добавление в exim.conf приведенной строки, позволит писать в лог файл строку subject, писем проходящих через сервер. Это сильно помогает при решении проблем в процессе настройки сервера, а так-же дает дополнительные критерии для отсева спама.
log_selector = +subject
Отключение identd
Честно говоря не думаю что протокол identd был когда либо очень полезен. Identd опирается на подключающийся хост, что-бы подтвердить идентификацию ( System UID ), удаленного пользователя, владельца процесса, устанавливающего сетевое соединение. Это может быть в определенной степени полезно в мире системных оболочек и IRC пользователей, но уж никак не на нагруженном почтовом сервере, где пользователем процесса зачастую является просто какой-нибудь "mail", и за этим может быть любой другой MTA. В итоге куча накладных расходов, нулевой результат, лишь задержки identd запросов и как следствие отказы и таймауты. Можно запретить Exim делать подобные запросы, установив таймаут 0 секунд в exim.conf.
rfc1413_query_timeout = 0s
Отключение блокировки вложений
Что-бы отключить блокировку исполняемых вложений, что CPanel делает по умолчанию, правда не предоставляя при это контроля "для каждого домена", следующий блок нужно добавить в начало файла /etc/antivirus.exim:
if $header_to: matches "example\.com|example2\.com" then finish endif