Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.05 KB | None | 0 0
  1. # Имя хоста. Используется в EHLO.
  2. # Фигурирует в других пунктах, если они не заданы -
  3. # типа qualify_domain и прочих..
  4. # Если тут ничё не установлено (строка закомметрована)
  5. # то используется то, что вернёт функция uname()
  6. primary_hostname = mail.telekom-plus.ru
  7.  
  8. # Вводим данные для подключения к MySQL серверу.
  9. # словечко `hide`, вначале, означает, что при
  10. # вызове проверки конфига командой
  11. # exim -bV config_file эти данные не будут отображаться.
  12. # Если без него - то будут показаны... Формат записи:
  13. # хост/имя_бд/пользователь/пароль
  14. hide mysql_servers = localhost/exim/exim/exim
  15.  
  16. # Делаем список локальных доменов. Далее этот
  17. # список будет фигурировать в виде +local_domains
  18. # В данном случае домены выбираются из БД MySQL. Также
  19. # можно их просто перечислить через двоеточие. Есть интересная
  20. # возможность, можно указать юзер@[хост] - user@[217.111.ххх.ххх]
  21. domainlist local_domains = ${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='${domain}' AND `active`='1'}}
  22.  
  23. # делаем список доменов с которых разрешены релеи.
  24. # Далее этот список будет в виде +relay_to_domains
  25. # Можно использовать символы подстановки, типа:
  26. # .... = *.my.ddomain-ak.ru : !spam.my.domen.su : first.su
  27. # тогда пропускается всё, что похоже на *.my.domain-ak.ru, но
  28. # от spam.my.domain.ru релеится почта не будет.
  29. domainlist relay_to_domains = ${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='${domain}' AND `active`='1'}}
  30.  
  31. # Составляем список хостов с которых разрешён неавторизованый
  32. # релей. Обычно в нём находятся локальные сети, и локалхост...
  33. # ЛокалХост в двух видах был внесён сознательно - пару раз
  34. # сталкивался с кривым файлом /etc/hosts - результатом было
  35. # непонимание `localhost` но пониманием 127.0.0.1/8
  36. hostlist relay_from_hosts = localhost:127.0.0.0/8
  37.  
  38. # Вводим названия acl`ов для проверки почты. (В общем-то, это
  39. # необязательно, если вы делаете открытый релей, или хотите
  40. # принимать вообще всю почту с любого хоста для любых
  41. # получателей... Тока потом не жалуйтесь что у Вас спам
  42. # и провайдер выкатывает немеряный счёт :))
  43. acl_smtp_rcpt = acl_check_rcpt
  44. acl_smtp_data = acl_check_data
  45.  
  46. # Прикручиваем антивирус - при условии, что exim собран
  47. # с его поддержкой. В качестве антивиря юзаем ClamAV,
  48. # ибо - ПО должно быть свободным! :)
  49. # Итак, указываем местоположение сокета clamd.
  50. #av_scanner = clamd:/var/run/clamav/clamd.sock
  51.  
  52.  
  53. # Адрес куда слать на проверку спама (SpamAssasin), но я
  54. # это не юзаю. Не так много у меня спама...
  55. # spamd_address = 127.0.0.1 783
  56.  
  57. # Порты какие будет слушать Exim (25 и 9025)
  58. daemon_smtp_ports = 25 : 465
  59. # Указываем порт который будет работать с шифрованием SSL TLS
  60. tls_on_connect_ports = 465
  61. # Указываем где у нас находяться сертификат и ключ
  62. tls_certificate = /etc/exim/ssl/exim.crt
  63. tls_privatekey = /etc/exim/ssl/exim.key
  64.  
  65. # Имя домена добавляемое для локальных отправителей (реальных
  66. # юзеров системы) т.е. почта отправляемая от root, будет от
  67. # root@домен_указанный_здесь. Если пункт незадан, то используется
  68. # имя хоста из `primary_hostname`. Логичней было бы написать здесь
  69. # lissyara.su, но мне удобней иначе:
  70. qualify_domain = mail.telekom-plus.ru
  71.  
  72. # Имя хоста для ситуации, обратной предыдущей, - это имя домена
  73. # добавляемое к почте для системных юзеров, ну и вообще для почты
  74. # пришедшей на адрес типа `root`, `lissyara`, & etc... Если этот
  75. # пункт незадан то используется значение полученное из
  76. # предыдущего пункта - `qualify_domain`
  77. qualify_recipient = mail.telekom-plus.ru
  78.  
  79. # А это как раз кусок вышеописанного анахронизма - про почту в
  80. # виде user@[222.222.222.222] - принимать её или нет. По дефолту
  81. # (когда строка закомментирована) значение - false. Если захотите
  82. # поставить true то надо будет добавить в список доменов
  83. # комбинацию @[] - она означает `все локальные адреса`
  84. allow_domain_literals = false
  85.  
  86. # Пользователь от которого работает exim
  87. exim_user = mailnull
  88.  
  89. # группа в кторой работает exim
  90. exim_group = mail
  91.  
  92. # запрещаем работу доставки под юзером root - в целях безопасности
  93. never_users = root
  94.  
  95.  
  96. # Проверяем соответствие прямой и обратной зон для всех хостов.
  97. # Тока зачем это нужно - даже и незнаю... Спам на этом не режется...
  98.  
  99. # Зато возможны проблемы - если сервер зоны скажет `сервер файлед`
  100. # то почту от этого хоста Вы не получите :)
  101. #host_lookup = *
  102.  
  103. # Тоже анахронизм (на самом деле, не такой уж анахронизм, но все давно
  104. # забили на ident и закрыли файрволлом tcp:113...) Это проверка - Ваш
  105. # хост спрашивает у удалённого, с которого было подключение, а кто
  106. # собстно ко мне подключился на такой-то порт? Если на удалённом хосте
  107. # работает identd - он может ответить (а может и не ответить - как
  108. # настроить), скажет UID пользователя от которого установлено
  109. # соединение, тип ОС, и имя пользователя. Теперь, понимаете, почему
  110. # у всех оно зарублено и файрволлами позакрыто? :) Это же палево :)
  111. # Тока на мой взгляд, если на сервере всё настроено правильно -
  112. # то вовсе это и не страшно.
  113. # Короче - если хостс поставить * то будет проверять все. Таймаут -
  114. # если поставить 0 то не будет ждать ответа ни от кого. По
  115. # вышеописанным причинам - отключаем
  116. #rfc1413_hosts = *
  117. rfc1413_query_timeout = 0s
  118.  
  119. # По дефолту, экзим отфутболивает все `неквалифицированные` адреса,
  120. # состоящие тока из локальной части. Для того чтобы разрешить такие письма
  121. # определённых хостов используются эти директивы:
  122. # для `неквалифицированных` отправителей
  123. sender_unqualified_hosts = +relay_from_hosts
  124. # для `неквалифицированных` получателей
  125. recipient_unqualified_hosts = +relay_from_hosts
  126.  
  127. # Интересный пункт, тока я не вполне понимаю его логику.
  128. # Позволяет выполнять что-то типа - пришло сообщение на
  129. # локальный ящик user%test.ru@domain-ak.ru и
  130. # переправляет его на user@test.ru. Делается это для
  131. # перечисленного списка доменов (* - все):
  132. # percent_hack_domains = *
  133.  
  134. # Если сообщение было недоставлено, то генерится соощение
  135. # об ошибке. Если сообщение об ошибке не удалось доставить
  136. # то оно замораживается на указанный в этом пункте срок,
  137. # после чего снова попытка доставить его. При очередной
  138. # неудаче - сообщение удаляется.
  139. ignore_bounce_errors_after = 45m
  140.  
  141. # Замороженные сообщения, находящиеся в очереди, дольше
  142. # указанного времени удаляются и генерится сообщение
  143. # об ошибке (при условии, что это не было недоставленное
  144. # сообщение об ошибке :))
  145. timeout_frozen_after = 15d
  146.  
  147. # собсно на этом штатный конфиг кончился, но
  148. # меня-то это не устраивает... Поэтому пошли пункты,
  149. # почёрпнутые из других источников.
  150.  
  151. # список адресов, через запятую, на которые засылаются
  152. # сообщения о замороженных сообщениях (о замороженых
  153. # уведомлениях о заморозке, сообщения не генерятся. - я
  154. # надеюсь эта строка понятна :))
  155. freeze_tell = postmaster@mail.telekom-plus.ru
  156.  
  157. # Список хостов, почта от которых принимается, несмотря
  158. # на ошибки в HELO/EHLO (тут указана моя подсеть)
  159. helo_accept_junk_hosts = 10.15.12.0/24
  160.  
  161.  
  162. # Через какое время повторять попытку доставки
  163. # замороженного сообщения
  164. auto_thaw = 1h
  165.  
  166. # Приветствие сервера
  167. smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
  168.  
  169. # Максимальное число одновременных подключений по
  170. # SMTP. Рассчитывать надо исходя из нагрузки на сервер
  171. smtp_accept_max = 50
  172.  
  173. # максимальное число сообщений принимаемое за одно соединение
  174. # от удалённого сервера (или пользователя). C числом 25
  175. # я имел проблемы тока один раз - когда у меня три дня лежал
  176. # инет и после его подъёма попёрли мессаги. Но у меня не так
  177. # много почты - всего 30 пользователей.
  178. smtp_accept_max_per_connection = 25
  179.  
  180.  
  181. # чё-то про логи и борьбу с флудом - я так понимаю -
  182. # максимальное число сообщений записываемых в логи
  183. smtp_connect_backlog = 30
  184.  
  185. # максимальное число коннектов с одного хоста
  186. smtp_accept_max_per_host = 20
  187.  
  188. # Ход ладьёй - для увеличения производительности,
  189. # директория `spool` внутри, разбивается на
  190. # директории - это ускоряет обработку
  191. split_spool_directory = true
  192.  
  193. # Если у сообщения много адресатов на удалённых хостах,
  194. # то запускатеся до указанного числа максимально число
  195. # параллельных процессов доставки
  196. remote_max_parallel = 15
  197.  
  198. # при генерации сообщения об ошибке прикладывать
  199. # не всё сообщение, а кусок (от начала) указанного
  200. # размера (иногда полезно и целиком - в таком случае
  201. # просто закомментируйте эту строку)
  202. return_size_limit = 70k
  203.  
  204. # размер сообщения. У меня стоит относительно большой
  205. # размер (`относительно` - потому, что на большинстве
  206. # хостов оно ограничено 2-5-10мб, либо стоит анлим.)
  207. message_size_limit = 10M
  208.  
  209. # разрешаем неположенные символы в HELO (столкнулся
  210. # с этим случайно - имя фирмы состояло из двух слов
  211. # и какой-то раздолбай домен обозвал my_firme_name
  212. # прям с подчёркиваниями... Виндовые клиенты при
  213. # соединении радостно рапортовали о себе
  214. # `vasya.my_firme_name` ну а экзим их футболил :))
  215. helo_allow_chars = _
  216.  
  217. # Принудительная синхронизация. Если отправитель
  218. # торопится подавать команды, не дождавшись ответа,
  219. # то он посылается далеко и надолго :) Немного,
  220. # спам режется. вкл = true / выкл = false
  221. smtp_enforce_sync = false
  222.  
  223.  
  224. # Выбираем, что мы будем логировать
  225. # + - писать в логи,
  226. # - - Не писать в логи.
  227. # +all_parents - все входящие?
  228. # +connection_reject - разорваные соединения
  229. # +incoming_interface - интерфейс (реально - IP)
  230. # +lost_incoming_connections - потеряные входящие
  231. # соединения
  232. # +received_sender - отправитель
  233. # +received_recipients - получатель
  234. # +smtp_confirmation - подтверждения SMTP?
  235. # +smtp_syntax_error - ошибки синтаксиса SMTP
  236. # +smtp_protocol_error - ошибки протокола SMTP
  237. # -queue_run - работа очереди (замороженные мессаги)
  238. log_selector = +all_parents +connection_reject +incoming_interface +lost_incoming_connection +received_sender +received_recipients +smtp_confirmation +smtp_syntax_error +smtp_pr
  239.  
  240. # Убираем собственную временную метку exim`a из логов, её ставит
  241. # сам syslogd - нефига дублировать
  242. syslog_timestamp = no
  243.  
  244.  
  245.  
  246. ### конфигурация ACL для входящей почты
  247. begin acl
  248.  
  249. # Эти правила срабатывают для каждого получателя
  250. acl_check_rcpt:
  251.  
  252.  
  253. # принимать сообщения которые пришли с локалхоста,
  254. # не по TCP/IP
  255. accept hosts = :
  256.  
  257.  
  258. # Запрещаем письма содержащие в локальной части
  259. # символы @; %; !; /; |. Учтите, если у вас было
  260. # `percent_hack_domains` то % надо убрать.
  261. # Проверяются локальные домены
  262. deny message = "incorrect symbol in address"
  263. domains = +local_domains
  264. local_parts = ^[.] : ^.*[@%!/|]
  265.  
  266. # Проверяем недопустимые символы для
  267. # нелокальных получателей:
  268. deny message = "incorrect symbol in address"
  269. domains = !+local_domains
  270. local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  271.  
  272. # Принимаем почту для постмастеров локальных доменов без
  273. # проверки отправителя (я закомментировал, т.к. это -
  274. # основной источник спама с мой ящик).
  275. #
  276. # accept local_parts = postmaster
  277. # domains = +local_domains
  278. #
  279. # Запрещщаем, если невозможно проверить отправителя
  280. # (отсутствует в списке локальных пользователей)
  281. # У себя я это закоментил, по причине, что некоторые
  282. # железяки (принтеры, & etc) и программы (Касперский, DrWEB)
  283. # умеют слать почту, в случае проблем но не умеют ставить
  284. # нужного отправителя. Такие письма эта проверка не пускает.
  285. # require verify = sender
  286.  
  287. # Запрещщаем тех, кто не обменивается приветственными
  288. # сообщениями (HELO/EHLO)
  289. deny message = "HELO/EHLO require by SMTP RFC"
  290. condition = ${if eq{$sender_helo_name}{}{yes}{no}}
  291.  
  292. # Принимаем сообщения от тех, кто аутентифицировался:
  293. # Вообще, большинство конфигов в рунете - это один и тот же
  294. # конфиг написанный Ginger, в котором этот пункт расположен
  295. # внизу. Но при таком расположении рубятся клиенты с adsl,
  296. # ppp, и прочие зарезанные на последующих проверках. Но это
  297. # жа неправильно! Этом мои пользователи из дома! Потому
  298. # я это правило расположил до проверок.
  299. accept authenticated = *
  300.  
  301. # Рубаем нах, тех, кто подставляет свой IP в HELO
  302. deny message = "Your IP in HELO - access denied!"
  303. hosts = * : !+relay_from_hosts : !81-196.mail.telekom-plus.ru
  304. condition = ${if eq{$sender_helo_name}{$sender_host_address}{true}{false}}
  305.  
  306.  
  307. # Рубаем тех, кто в HELO пихает мой IP (2500 мудаков за месяц!)
  308. deny condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
  309. hosts = !127.0.0.1 : !localhost : *
  310. message = "main IP in your HELO! Access denied!"
  311.  
  312. # Рубаем тех, кто в HELO пихает только цифры
  313. # (не бывает хостов ТОЛЬКО из цифр)
  314. deny condition = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
  315. hosts = !127.0.0.1 : !localhost : *
  316. message = "can not be only number in HELO!"
  317.  
  318.  
  319. ## Рубаем тех, кто не пишет отправителя (пробел)
  320. # deny condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
  321. # hosts = !127.0.0.1 : !localhost : *
  322. # message = "Sender address contains spaces?! not for RFC..."
  323.  
  324.  
  325. # Рубаем тех, кто не пишет отправителя
  326. deny condition = ${if eq{$sender_address}{}{yes}{no}}
  327. hosts = !127.0.0.1 : !localhost : *
  328. message = "Sender address is empty?! not for RFC..."
  329.  
  330.  
  331. # Рубаем всех, если адрес отправителя нет в алиасах, кроме локальной сети
  332. # deny condition = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@mysite.ru}'}{no}{yes}}
  333. # hosts = !127.0.0.1 : !localhost : !10.15.12.0/24 : *
  334. # message = "No such user!"
  335.  
  336.  
  337. # Рубаем всех, кроме нашего внешнего пересыльщика masterhost.ru и localhost
  338. # (мастерхостость)Было сделано что бы никто кроме masterhost.ru
  339. # не мог слать письма на @zern.domain-ak.ru
  340. deny condition = ${if match{$sender_helo_name}{cm.hc.ru}{no}{yes}}
  341. hosts = !127.0.0.1 : !localhost : *
  342. message = "Access deny!"
  343.  
  344.  
  345.  
  346.  
  347. # Рубаем хосты типа *adsl*; *dialup*; *pool*;....
  348. # Нормальные люди с таких не пишут. Если будут
  349. # проблемы - уберёте проблемный пункт (у меня клиенты
  350. # имеют запись типа asdl-1233.zone.su - я ADSL убрал...)
  351. # deny message = "your hostname is bad (adsl, poll, ppp & etc)."
  352. # condition = ${if match{$sender_host_name} \
  353. # {adsl|dialup|pool|peer|dhcp} \
  354. # {yes}{no}}
  355. #
  356. # Задержка. (это такой метод борьбы со спамом,
  357. # основанный на принципе его рассылки) На этом рубается
  358. # почти весь спам. Единственно - метод неприменим на
  359. # реально загруженных MTA - т.к. в результате ему
  360. # приходится держать много открытых соединений.
  361. # но на офисе в сотню-две человек - шикарный метод.
  362. #
  363. # более сложный вариант, смотрите в статье по exim и
  364. # курьер имап. Т.к. там метод боле умный (просто правил
  365. # больше :), то можно и на более загруженные сервера ставить)
  366. warn
  367. # ставим дефолтовую задержку в 30 секунд
  368. set acl_m0 = 30s
  369. warn
  370. # ставим задержку в 0 секунд своим хостам и
  371. # дружественным сетям (соседняя контора :))
  372. hosts = +relay_from_hosts : 127.0.0.1/8 : 10.15.12.0/24 \
  373. : 10.14.7.0/24
  374. set acl_m0 = 0s
  375. warn
  376. # пишем в логи задержку (если оно вам надо)
  377. logwrite = Delay $acl_m0 for $sender_host_name [$sender_host_address] with HELO=$sender_helo_name. Mail from $sender_address to $local_part@$domain.
  378.  
  379. delay = $acl_m0
  380.  
  381.  
  382.  
  383. # Проверка получателя в локальных доменах.
  384. # Если не проходит, то проверяется следующий ACL,
  385. # и если непрошёл и там - deny
  386. accept domains = +local_domains
  387. endpass
  388. message = "In my mailserver not stored this user"
  389. verify = recipient
  390.  
  391. # Проверяем получателя в релейных доменах
  392. # Опять-таки если не проходит -> следующий ACL,
  393. # и если непрошёл и там - deny
  394. accept domains = +relay_to_domains
  395. endpass
  396. message = "main server not know how relay to this address"
  397. verify = recipient
  398.  
  399. # Рубаем тех, кто в блэк-листах. Серваки перебираются
  400. # сверху вниз, если не хост не найден на первом, то
  401. # запрашивается второй, и т.д. Если не найден ни в одном
  402. # из списка - то почта пропускается.
  403.  
  404. deny message = "you in blacklist - $dnslist_domain \n $dnslist_text"
  405. dnslists = opm.blitzed.org : cbl.abuseat.org : bl.csma.biz : dynablock.njabl.org
  406.  
  407. # Разрешаем почту от доменов в списке relay_from_hosts
  408. accept hosts = +relay_from_hosts
  409.  
  410. # Если неподошло ни одно правило - чувак явно ищет
  411. # открытый релей. Пшёл прочь. :)
  412. deny message = "Homo hominus lupus est"
  413.  
  414.  
  415.  
  416.  
  417. # Тут идут ACL проверяющие содержимое (тело) письма.
  418. # Без них будут пропускаться все сообщения.
  419.  
  420. acl_check_data:
  421.  
  422.  
  423. # Тут мы проверяем письма на ***SPAM***(ну если кому это нужно)
  424. #.include_if_exists /usr/local/etc/exim/includes/antispam.conf
  425.  
  426.  
  427.  
  428. # Проверяем письмо на вирусы
  429. # deny malware = *
  430. # message = "In e-mail found VIRUS - $malware_name"
  431.  
  432. # Если есть необходимость - тут проверки на спам
  433.  
  434. # Пропускаем остальное
  435. accept
  436.  
  437.  
  438.  
  439. # чё делаем с почтой
  440. ############################################################################
  441. # #Секция роутеров
  442. ############################################################################
  443. begin routers
  444.  
  445. # Все адреса *@zern.domain-ak.ru отправляем на
  446. # *@domain-ak.ru все пользователи у нас в
  447. # @domain-ak.ru, чтобы алиасы не прописывать
  448. # Не юзаем потому что стоит подмена заголовков begin rewrite
  449. # aliases_mysql_nnov:
  450. # driver = redirect
  451. # condition = ${if eq{zern.domain-ak.ru}{$domain}{yes}{no}}
  452. # allow_fail
  453. # allow_defer
  454. # data = ${quote:$local_part}@domain-ak.ru
  455.  
  456. # Копируем всю входящую и исходящую почту на audit@domain-ak.ru
  457. # Нужно было начальству для контроля.(если вам такое нужно то раскомментите)
  458. #copy_message:
  459. # driver = redirect
  460. # unseen
  461. # domains = *
  462. # data = audit@domain-ak.ru
  463.  
  464.  
  465.  
  466. # 1.Смотрим системные Алиасы
  467. system_aliases:
  468. driver = redirect
  469. allow_fail
  470. allow_defer
  471. data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
  472. `address`='${quote_mysql:$local_part@$domain}' OR \
  473. `address`='${quote_mysql:@$domain}'}}
  474.  
  475. # 2.Доставляем почты в dovecot
  476. dovecot_user:
  477. driver = accept
  478. condition = ${lookup mysql{SELECT `goto` FROM \
  479. `alias` WHERE \
  480. `address`='${quote_mysql:$local_part@$domain}' OR \
  481. `address`='${quote_mysql:@$domain}'}{yes}{no}}
  482. transport = dovecot_delivery
  483.  
  484. # 3.Отправка почты на "masterhost @adomain-ak.ru"
  485. # для локального домена "@domain-ak.ru"
  486. # если пользователя несуществует в локальном домене @domain-ak.ru
  487. masterhost_router:
  488. driver = manualroute
  489. transport = masterhost_transport
  490. route_list = mail.telekom-plus.ru smtp.cm.hc.ru
  491.  
  492. # 4.Отправка всей не локальной почты т.е
  493. # на удаленные сервера кроме "masterhost.ru
  494. # домен @domain-ak.ru", отправка производить
  495. donpac_router:
  496. driver = manualroute
  497. transport = donpac_transport
  498. route_list = * smtp.cm.hc.ru
  499.  
  500. # 5.Если лег сервак провайдера donpac.ru то EXIM отправляет напрямую
  501. # т.е как "mail.zern.domain-ak.ru"
  502. # Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS -
  503. # то это `унроутабле аддресс`. Не проверяются локальные
  504. # домены, 0.0.0.0 и 127.0.0.0/8
  505. dnslookup:
  506. driver = dnslookup
  507. domains = ! +local_domains
  508. transport = remote_smtp
  509. ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  510. no_more
  511.  
  512.  
  513. # начинаются транспорты - как доставляем почту
  514. ##########################################################################
  515. # #Секция транспортов
  516. ##########################################################################
  517. begin transports
  518.  
  519. # Доставка на удалённые хосты - по SMTP
  520. remote_smtp:
  521. driver = smtp
  522.  
  523. # Доставка локальным адресатам - в dovecot
  524. # Надо заметить что тут использовалась ранее прямая доставка
  525. # в директорию, но щас с портами стал-таки устанавливаться deliver
  526. # программа dovecot занимающаяся доставкой мессаг.
  527. # Соответственно юзаем его.
  528. dovecot_delivery:
  529. driver = pipe
  530. command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
  531. message_prefix =
  532. message_suffix =
  533. delivery_date_add
  534. envelope_to_add
  535. return_path_add
  536. log_output
  537. user = mailnull
  538.  
  539.  
  540. # Имя программы
  541. address_pipe:
  542. driver = pipe
  543. return_output
  544.  
  545. # Транспорт для автоответов
  546. address_reply:
  547. driver = autoreply
  548.  
  549. # Транспорт на smtp.masterhost.ru
  550. masterhost_transport:
  551. driver = smtp
  552. hosts = smtp.cm.hc.ru
  553.  
  554. # Транспорт на smtp.donpac.ru
  555. donpac_transport:
  556. driver = smtp
  557. hosts = smtp.cm.hc.ru
  558.  
  559. # Начинаются повторы недоставленных писем.
  560. #########################################################################
  561. # # Секция повторов
  562. #########################################################################
  563.  
  564. begin retry
  565.  
  566.  
  567. # Address or Domain Error Retries
  568. # ----------------- ----- -------
  569. * * F,2h,15m; G,16h,1h,1.5; F,4d,6h
  570.  
  571.  
  572.  
  573. ##########################################################################
  574. # # Секция преобразование адресов
  575. ##########################################################################
  576. begin rewrite
  577.  
  578. #Подмена заголовка @zern.domain-ak.ru на @domain-ak.ru
  579. *@mail.telekom-plus.ru $local_part@mail.telekom-plus.ru Eh
  580.  
  581. #########################################
  582. # Флаги #
  583. #########################################
  584. # E ----> все поля конверта #
  585. # F ----> поле "From" в конверте #
  586. # T ----> поле "To" в конверте #
  587. # b ----> заголовок "Bcc:" #
  588. # c ----> заголовок "Cc:" #
  589. # f ----> заголовок "From:" #
  590. # h ----> все заголовки #
  591. # r ----> заголовок "Reply-To:" #
  592. # s ----> заголовок "Sender:" #
  593. # t ----> заголовок "To:" #
  594. #########################################
  595.  
  596.  
  597. # Секция авторизации при отправке писем. Ввиду того,
  598. # что почтовых клиентов много, и все всё делают
  599. # по-своему, то и механизмов авторизации три...
  600. #####################################################################
  601. # # Секция аутентификаторов
  602. #####################################################################
  603.  
  604. begin authenticators
  605.  
  606.  
  607. auth_plain:
  608. driver = plaintext
  609. public_name = PLAIN
  610. server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth2}' AND `password` = '${quote_mysql:$auth3}'}{yes}{no}}
  611. server_prompts = :
  612. server_set_id = $auth2
  613.  
  614.  
  615. auth_login:
  616. driver = plaintext
  617. public_name = LOGIN
  618. server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth1}' AND `password` = '${quote_mysql:$auth2}'}{yes}{no}}
  619. server_prompts = Username:: : Password::
  620. server_set_id = $auth1
  621.  
  622.  
  623. auth_cram_md5:
  624. driver = cram_md5
  625. public_name = CRAM-MD5
  626. server_secret = ${lookup mysql{SELECT `password` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth1}'}{$value}fail}
  627. server_set_id = $auth2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement