Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FAQ по Exim MTA #1

Текущая версия Exim 4.80

   Home page Автор Philip Hazel, University of Cambridge.
Exim - чертовски быстр, отличный выбор для загруженных систем. Свободно распространяемый Mail Transport Agent (MTA, лицензия GPL), обладающий возможностью очень гибкой и тонкой настройки, включая поиск конфигурационной информации в базах данных - mySQL, PostgresQL, Oracle, SQLite.., а также LDAP.  В Exim встроена поддержка Maildir (quota), SMTP-аутентификация, TLS/SSL, SpamAssassin, сканирование на лету антивирусом(ами), ACL, системные фильтры... Сомневающимся.
На многие вопросы помогут найти ответы рассылки: На русском + На английском
Документация на русском по Exim + много полезной инфы на www.lissyara.su

Установка почтового сервера на базе Exim с поддержкой виртуальный аккаунтов (MySQL).
Подробное руководство состоит из двух связанных частей:
   1. Установка и настройка Exim 4.20.
   2. Установка  и настройка Tpop3d с поддержкой виртуальных аккаунтов.
Внимательно читаем здесь © ginger
-=-=-=-
Улучшенный вариант части 1: Exim-4.50 + MySQL © ginger
-=-=-=-
Так как Tpop3d не совместим с MS Outlook Express 6, а также не поддерживает IMAP, автор рекомендует его заменить на Dovecot. Изменения, которые нужно сделать cмотрим здесь © ginger
-=-=-=-
Еще один вариант установки © Wombat
-=-=-=-
Exim+Courier-Imap+MySQL+ClamAV+DSPAM+SquirrelMail © Павел Семенец Искать по ctrl+F=Павел Семенец
-=-=-=-
Опции для сборки exim из портов (FreeBSD) © tankistua
 
Уважаемые коллеги!
 
Нам очень дороги ваши конфиги и логи на несколько страниц, но, поверьте, их гораздо приятнее читать когда они заключены в тэг more.

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 18:49 16-05-2011 | Исправлено: AkeHayc, 21:09 21-04-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Clop345
Цитата:
А как должен выглядеть файлик этот списка?  
Зависит. Если в данном варианте, тогда просто имена без домена по одному на строчке или несколько через двоеточие. Но это будет срабатывать для всех доменов.
Если в каждом домене разные юзеры, то либо модифицировать

Код:
localpartlist knownusers1 = lsearch;/usr/local/etc/exim/domain1.email  
localpartlist knownusers2 = lsearch;/usr/local/etc/exim/domain2.email  
................
accept   domains   = +domain1.ru
        local_parts   =  +knownusers1
accept   domains   = +domain2.ru
        local_parts   =  +knownusers2
Либо использовать полный адрес
 

Код:
..............................
accept  
   condition  = ${lookup {$local_part@$domain} lsearch {/usr/local/etc/exim/west.email} {yes} {no} }    

 
 

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 17:26 09-09-2013
fakeroot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Помогите, пожалуйста, найти ошибку в конфиге с квотированием.  
 
Требуется реализовать два вида квоты: квота на ящик и общая квота на домен. Квота на ящик – обычная квота из файла maildirsize. Квота на домен – задана в mysql-таблице domains, в поле quota. Суммарный текущий размер почты всех ящиков хранится в поле size, также в таблице domains.
 
Квота на ящик работает корректно, а раутер с квотой на домен (virtual_domain_quota_defer) по какой то неведомой причине не срабатывает ((
 
Сконфигурено всё следующим образом:
 
# Определяем квоту для ящика
GET_QUOTA=${lookup mysql{SELECT quota FROM users \
           WHERE login='${local_part}' AND domain='${domain}'}{${value}M}}
 
MAILDIR_SIZE=${eval:${sg{${sg{${readfile{/var/exim/$domain/$local_part/maildirsize} {\n}}}{\N^.+?\n\N}{}}}{\N(?s)\s+-?\d+\n\N}{+}}0+500K}
 
# Определяем квоту для домена
GET_DOMAIN_QUOTA=${lookup mysql{SELECT quota FROM domains WHERE domain='${domain}'}{$value}fail}
 
# Текущий суммарный размер всех ящиков в домене
DOMAIN_SIZE=${lookup mysql{SELECT size FROM domains WHERE domain='${domain}'}{$value}fail}
 
….
 
# Раутер для per-mailbox квоты
virtual_user_quota_defer:
  driver          = redirect
  domains         = +local_domains
  condition       = ${if and{\
                    {exists{/var/mail/$domain/$local_part}}\
                    {exists{/var/mail/$domain/$local_part/maildirsize}}\
                    {>{GET_QUOTA}{0}}\
                    {>={MAILDIR_SIZE}{GET_QUOTA}}\
                    } }
  data            = :fail: Over quota!
  verify_sender = false
  allow_fail
 
# Раутер квоты для домена (не срабатывает!)
virtual_domain_quota_defer:
  driver          = redirect
  domains         = +local_domains
  condition       = ${if and{\
                    {>{GET_DOMAIN_QUOTA}{0}}\
                    {>={DOMAIN_SIZE}{GET_DOMAIN_QUOTA}}\
                    } }
  data            = :fail: Over quota for domain!
  verify_sender = false
  allow_fail

Всего записей: 7 | Зарегистр. 11-12-2011 | Отправлено: 12:13 20-09-2013 | Исправлено: fakeroot, 16:17 20-09-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fakeroot
Цитата:
 DOMAIN_SIZE=${lookup mysql{SELECT size FROM domains WHERE domain='${domain}'}{$value}fail}  
 Наверное, все-таки не size, а sum(size)?
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 18:57 20-09-2013
fakeroot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 DOMAIN_SIZE=${lookup mysql{SELECT size FROM domains WHERE domain='${domain}'}{$value}fail}  
 Наверное, все-таки не size, а sum(size)?
 

В поле size хранится текущий суммарный размер всех ящиков в конкретном домене (оно по шедулеру скриптом периодически обновляется). По этой причине sum не нужен.

Всего записей: 7 | Зарегистр. 11-12-2011 | Отправлено: 15:05 22-09-2013 | Исправлено: fakeroot, 15:06 22-09-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fakeroot
Запусти дебаг сессии (exim -bh) с письмом в домен с оверквотой,
посмотри значения своих переменных, срабатывание условий,
и все выяснишь.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 19:39 22-09-2013
fakeroot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Сегодня обязательно попробую.

Всего записей: 7 | Зарегистр. 11-12-2011 | Отправлено: 12:23 23-09-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, подскажите есть ли в народе опыт модерирования исходящей почты?
Т.е. что бы письма от определённых ящиков не уходили сразу наружу, а где-то повисали и через web-интерфейс админ(ответственный) мог бы решать можно ли их отправлять или нет (тупо кнопки да/нет), разумеется что бы содержимое показывалось, а не только от кого и кому.
 
В наличии exim 4.80 на Debian'е, в связке с Dovecot 2.1.17.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 14:42 04-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Тоже вдруг захотелось странного?
Ну, навскидку, через ACL для RCPT TO: можно переписать адрес получателя на определенный почтовый ящик либо заставить двигаться другим транспортом.
Потом через обычную веб-морду смотреть содержимое этого спец-ящика.
Ну а дальше просто сделать форвард этого письма оригинальному получателю.
Поскольку при этом MAIL FROM: будет от спецэккаунта, письмо уйдет по назначению.
Поля в его теле From:, To:, Reply-To: по идее измениться не должны.  


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 16:34 04-10-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Ну примерный план рождения костыля я тоже знал, думал вдруг есть известные извращения...
Спасибо)

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:41 04-10-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно мне ещё странненького?) Хотя это больше похоже на нормальное желание:
 
Есть запись в файл /etc/aliases: user2: user1
 
Соответственно, если письмо отправить на оба адреса сразу (user1, user2), то бедный user1 получит 2 копии письма, как можно этого избежать?

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:01 08-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Собственно, оно вроде бы есть:

Цитата:
11. Duplicate addresses
Once routing is complete, Exim scans the addresses that are assigned to local and remote transports, and discards any duplicates that it finds. During this check, local parts are treated as case-sensitive. This happens only when actually delivering a message; when testing routers with -bt, all the routed addresses are shown.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 17:06 08-10-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Спасибо за цитату, я об этом только догадывался, но как-то не нашёл подтверждения. Теперь есть 2 ссылки на доку от лисяры (3.11 и 22.7).
 
Однако... у меня всё же происходит дублирование, где искать причину? router'ы я практически не трогал, доставка идёт через R=local_user T=dovecot_delivery.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 19:15 08-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
 меня всё же происходит дублирование, где искать причину?
 Возможная причина - это когда происходит замена адреса через алиас, вместо
user@domain.ru получается user@host.domain.ru, что есть разные адреса, но ведут в один ящик.
Может помочь опция qualify_domain. Но вообще неплохо провести дебаг доставки, и выяснить, где что идет не так.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 22:43 08-10-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Ну на всякий вот debug log (-acl).
 
А так вот кусок, видимо о котором Вы говорили:
2068 After routing:
 2068   Local deliveries:
 2068     amm@company.com
 2068     amm@company.com
 2068   Remote deliveries:
 2068   Failed addresses:
 2068   Deferred addresses:

 
А, да, и qualify_domain выставлена тоже в значение company.com.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 23:49 08-10-2013 | Исправлено: Alukardd, 23:53 08-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Ну можно еще поиграться с такими опциями в system_aliases: роутере
как check_ancestor, repeat_use. Сам смоделировать ситуацию не могу, поскольку у меня
 Exim aliases не использует.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 13:55 09-10-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Добавил в system_aliases опцию check_ancestor и repeat_use — ноль эмоций.
Буду ещё почитать доку.
 
Добавлено:
Похоже дело в том, что доставляет их не сам exim, а dovecot_deliver, который получает управление через driver = pipe, а в доке сказано что такая ситуация не будет обработана...
 
Добавлено:
Всё, решил вопрос при помощи Dovecot Pigeonhole's Sieve, есть экспериментальное расширение vnd.dovecot.duplicate, собственно с ним всё решилось в пару строк:
if duplicate {
    discard;
}


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 14:30 09-10-2013 | Исправлено: Alukardd, 14:34 09-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Похоже дело в том, что доставляет их не сам exim, а dovecot_deliver
Да,очень похоже на то. В этом случае естественно использовать примочки dovecot


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 17:54 09-10-2013
prestigo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
господа, такой вопрос
ОС xubuntu 12.04
установил exim4 4.76 из официальных реп (соотв. бинарник)
очень хочется узнать опцию CONFIGURE_FILE
 
как сие можно сделать?

Всего записей: 314 | Зарегистр. 03-09-2006 | Отправлено: 11:59 15-10-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
prestigo
Цитата:
очень хочется узнать опцию CONFIGURE_FILE  
/usr/local/exim/bin/exim -bV
Покажет тебе что-то типа  

Код:
Exim version 4.80.1 #14 built 09-Jun-2013 20:53:52
Copyright (c) University of Cambridge, 1995 - 2012
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2012
Berkeley DB: Berkeley DB 4.7.25: (April  4, 2012)
Support for: crypteq iconv() OpenSSL DKIM Experimental_SPF
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch mysql passwd pgsql sqlite
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile autoreply pipe smtp
Fixed never_users: 0:1:2
Size of off_t: 8
Configuration file is /usr/local/exim/exim.conf

Последняя строчка и есть значение CONFIGURE_FILE

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 12:58 15-10-2013
prestigo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary, спасибо большое!
только не

Цитата:
/usr/local/exim/bin/exim -bV  

а  
/usr/lib/exim4/exim4 -bV

Всего записей: 314 | Зарегистр. 03-09-2006 | Отправлено: 14:14 15-10-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru