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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nekt
Цитата:
не очень могу понять
 Да что там понимать? Криво твой хост настроен. Но в чем именно кривизна, при таких скудных исходных данных - только к телепатам.
 


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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
а чего ещё подкинуть?

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 16:09 01-08-2013
vlary



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

Цитата:
а чего ещё подкинуть?
Имя почтового домена, вестимо...
Оно не секретное, его весь интернет знает. Наверное, для того и создавалось.


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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 16:49 01-08-2013
Nekt

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня виртуальная площадка, почта шлется на mail.ru. в том случае...
причем хост мой под айпи, на него ссылается домен с другого хоста.  
phpbb отправляет почту.

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 17:57 01-08-2013 | Исправлено: Nekt, 18:50 01-08-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nekt  
Цитата:
у меня виртуальная площадка
Ну, теперь мне картина понятна.
Кратко резюмируя - Exim здесь вообще не при делах, как говорится, "на его месте мог бы оказаться каждый".
Вне зависимости от того, где находится почтовый сервер, в чулане, в Африке, на собачьей площадке, он должен соответствовать некоторым требованиям.
Если он не соответствует, то это не сервер, а спам-машина, и уважающие себя
почтовые сервера почту от него принимать не будут.
Об этом много писали здесь: Почтовый сервер с Нуля либо переходим на свой почтовый сервер. , либо Как быть, когда mail.ru не принимает почту.
Читай, просвещайся.

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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 23:31 01-08-2013
iceplane



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd спасибо. Не пришло в голову посмотреть конфиг, там забавно все было до меня сделано
 
Теперь пытаюсь понять почему при рассылке почты клиентам из программы самописной в логах проскакивают такие вот месяги:
 
 
+++ 1V5DGr-0000Qb-Nj has not completed +++
2013-08-02 15:11:46 [1649] 1V5DGr-0000Qb-Nj SA: Action: Not running SA because SAEximRunCond expanded to false (Message-Id: 1V5DGr-0000Qb-Nj). From <************@***********.ru> (host=***.**.****.** [***.**.*.***]) for ****@YANDEX.RU
2013-08-02 15:11:46 [1649] 1V5DGr-0000Qb-Nj SMTP connection lost after final dot H=***.**.****.** (SignOnEdit) [***.**.*.***]:2876 I=[***.**.*.***]:25 P=smtp

Всего записей: 7 | Зарегистр. 25-07-2013 | Отправлено: 15:40 02-08-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iceplane
Показывайте конфиг в more.

----------
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 | Отправлено: 20:57 02-08-2013
iceplane



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

Всего записей: 7 | Зарегистр. 25-07-2013 | Отправлено: 14:00 05-08-2013 | Исправлено: iceplane, 14:01 05-08-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Бяда бяда! походу у одного из клиентов сидит вирус который делает рассылки из-за чего постоянно ип одного почтового сервера попадает в самые популярные DNSBL!
Вопрос: Как включить логирование исходящих писем чтобы отследить спамера?

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 10:33 09-08-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000
Оно и так по умолчанию включено и пишется в mainlog вместе со входящими...
Обратить внимание стоит на log_selector.

----------
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 | Отправлено: 11:01 09-08-2013 | Исправлено: Alukardd, 11:05 09-08-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000
Цитата:
Как включить логирование исходящих писем чтобы отследить спамера?
Собственно, тебе нужны не исходящие, а входящие, которые идут из локалки либо с авторизацией. Логирование легко настраивается в аккцесс-листах с любыми необходимыми тебе параметрами. Например, назначаешь акцесс-лист для acl_smtp_rcpt,
и там логируешь все сообщения с локальными адресами для нелокальных

Код:
warn  
 senders  = *@company.ru  
 domains = !+our_domains  
  log_message   =  ATT!: from $sender_address ip $sender_host_address  to $local_part@$domain

И получаешь в логе необходимую информацию.  Делаешь  grep по ATT!:, обрабатываешь результат, и вычисляешь нехороший айпи или эккаунт.  


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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 11:42 09-08-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary Спасибо думаю это то что мне нужно!
 
в приведенном коде я так понимаю нужно подправить только senders  = *@company.ru  
где company.ru  пишу свой домен?

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 12:36 09-08-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000 Совершенно верно. Ну и определить что входит в our_domains в конфиге.
domainlist our_domains = company.ru  
И код поставить в начале акцесс-листа для RCPT TO:.

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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 12:39 09-08-2013 | Исправлено: vlary, 12:44 09-08-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
cat configure |grep acl_
acl_smtp_rcpt = acl_check_rcpt
acl_check_rcpt:
        set acl_m0 = 0s
        set acl_m0 = 0s
        logwrite = Delay $acl_m0 for $sender_host_name \
        delay = $acl_m0
 
Это не то у меня уже есть? не понимаю я как работают ACL

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 12:46 09-08-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000
Цитата:
Это не то у меня уже есть?  
Это то. Вот под этим и можешь поместить.

Цитата:
не понимаю я как работают ACL
А зря, у Эксима это основное. Учи матчасть.
Chapter 42 - Access control lists
 


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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 15:04 09-08-2013
Ermashov

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая проблема, не могу в исключения добавить сервер чтобы он не проверялся по спамбазам.
запись в строке hosts !IP ничего не дает.
Сервер достался в наследство, настраивал не я.
 

Код:
   
deny      message   = "you in blacklist - $dnslist_domain --> $dnslist_text; $dnslist_value"
      hosts         = !localhost : !127.0.0.1
      !authenticated = *
      delay         = 30s
      dnslists      =   zen.spamhaus.org : \
                        dnsbl.njabl.org : \
                        dialups.mail-abuse.org : \
                        dul.ru : \
                        sbl.spamhaus.org : \
                        bl.spamcop.net : \
                        kr.countries.nerd.dk : \
                        cn.countries.nerd.dk : \
                        au.countries.nerd.dk : \
                        hu.countries.nerd.dk : \
                        jp.countries.nerd.dk : \
                        pl.countries.nerd.dk : \
                         hk.countries.nerd.dk : \
                        fr.countries.nerd.dk : \
                        at.countries.nerd.dk : \
                        br.countries.nerd.dk : \
                        cbl.abuseat.org : \
 
  require verify        = sender


Всего записей: 51 | Зарегистр. 25-02-2008 | Отправлено: 15:39 16-08-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ermashov
Ну видимо добавить
!senders = dnsbl.notcheck.ru

----------
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 | Отправлено: 18:58 16-08-2013 | Исправлено: Alukardd, 18:59 16-08-2013
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите допилить конфиг, ПОЖАЛУЙСТА ибо новичок я
 
Задача поднять второй МХ для домена. Exim 4.80 Freebsd 9.1
 
Вообщем-то все уже настроено, почта принимается для домена и релеится на основоной МХ, когда он становится доступным.
Однако ж, вторичный принимает кучу барахла для несуществующих почтовых ящиков домена, с пустым обратным адресом и такие письма морозятся.
Захотелось сделать проверку существования ящика.  
Есть файлик, в котором все ящики и алиасы домена (/usr/local/etc/exim/west.email) и файл с доменами, для которых разрешен релай
 
Помогите, пожалуйста, написать роутер! Сам я как-то плохо понимаю
 
По аналогии с существующим переписал новый роутер relay_domains, но что-то подсказывает что не заработает
 

Код:
 
begin routers
        dnslookup:
                driver = dnslookup
                domains = !+dummy_domains
                transport = remote_smtp
                ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
                self = pass
                no_more
 
        disabled_domains:
                driver = redirect
                condition = ${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                allow_fail = yes
                data = :fail: Domain disabled
                no_more
 
        disabled_users:
                driver = redirect
                condition = ${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}
}
                allow_fail = yes
                data = :fail: User disabled
                no_more
 
        quota_check:
                driver = redirect
                domains = +local_domains
                allow_defer
                condition = ${if and{\
                                                {exists{/usr/local/ispmgr/var/eximquota.pid}}\
                                                {match{${readsocket{/usr/local/ispmgr/var/eximquota.sock}{$local_part@$domain:$message_size}}}{\Nover quota\N}}\
                                        }{yes}{no}}
                data = efer: $local_part@$domain is over quota
 
        relay_domains:
                driver = redirect
                condition = ${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/west.email}{no}{yes}}
                data = ${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/my_domains.conf}}}}
                cannot_route_message = UNKNOWN USER!
                no_more
 
        local_domains:
                driver = redirect
                condition = ${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}{no}{yes}}
                data = ${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                cannot_route_message = Unknown user
                no_more
 
        group_aliases:
                driver = redirect
                data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if and{\
                                                {exists{/usr/local/etc/exim/aliases}}\
                                                {eq {${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}} {group} }\
                                        } {yes} {no} }
                redirect_router = a_dnslookup
                pipe_transport = address_pipe
 
        aliases:
                driver = redirect
                data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no} }
                pipe_transport = address_pipe
 
        local_users:
                driver = redirect
                condition = ${lookup {$local_part@$domain} lsearch {/usr/local/etc/exim/passwd} {yes} {no} }
                data = $local_part@$domain
                redirect_router = autoreplay
 
.ifdef MAILMAN_ENABLE
        mailman:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join : -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman
 
        mailman_isp:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part-$domain/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join : -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman_isp
.endif
 
        catchall_for_domains:
                driver = redirect
                headers_add = X-redirected: yes
                data = ${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                file_transport = local_delivery
 
        unknown_users:
                driver = redirect
                allow_fail = yes
                data = :fail: Unknown user
                no_more
 
        autoreplay:
                driver = accept
                condition = ${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/vaclist}{yes}{no}}
                retry_use_local_part
                transport = address_reply
                unseen
 
.ifdef LDA_ENABLE
        procmail:
                no_verify
                driver = accept
                transport = maildrop_pipe
                # condition = ${if exists{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/.procmailrc} {yes} {no}}
                transport_home_directory = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
.endif
 
        localuser:
                driver = accept
                transport = local_delivery
 
# Same routers without autoreplay
 
        a_dnslookup:
                driver = dnslookup
                domains = !+dummy_domains
                transport = remote_smtp
                ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
                self = pass
                no_more
 
        a_disabled_domains:
                driver = redirect
                condition = ${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                allow_fail = yes
                data = :fail: Domain disabled
                no_more
 
        a_disabled_users:
                driver = redirect
                condition = ${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                allow_fail = yes
                data = :fail: User disabled
                no_more
 
        a_local_domains:
                driver = redirect
                data = ${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                cannot_route_message = Unknown user
                redirect_router = a_dnslookup
                no_more
 
        a_aliases:
                driver = redirect
                data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no} }
                redirect_router = a_dnslookup
                pipe_transport = address_pipe
 
.ifdef LDA_ENABLE
        a_procmail:
                no_verify
                driver = accept
                transport = maildrop_pipe
                # condition = ${if exists{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/.procmailrc} {yes} {no}}
                transport_home_directory = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
.endif
 
        a_local_users:
                driver = accept
                transport = local_delivery
                condition = ${lookup {$local_part@$domain} lsearch {/usr/local/etc/exim/passwd} {yes} {no} }
 
.ifdef MAILMAN_ENABLE
        a_mailman:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join : -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman
 
        a_mailman_isp:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part-$domain/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join : -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman_isp
.endif
 
        a_catchall_for_domains:
                driver = redirect
                headers_add = X-redirected: yes
                data = ${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                file_transport = local_delivery
                redirect_router = a_dnslookup
 

.

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 15:46 09-09-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Clop345
Цитата:
переписал новый роутер relay_domains
Зачем новый роутер? Достаточно правильно прописать акцесс-лист на acl_smtp_rcpt
Типа того:

Код:
acl_smtp_rcpt = acl_check_rcpt
.............
localpartlist knownusers = lsearch;/usr/local/etc/exim/west.email
..........
acl_check_rcpt:
 accept  hosts = :
 accept  hosts  =  : +local_hosts : +relay_from_hosts
# accept mail to known users
accept   domains   = +local_domains : +relay_to_domains
        local_parts   =  +knownusers
deny
        message = $local_part@$domain - unknown mailbox name
 
Переменные local_hosts  relay_from_hosts local_domains relay_to_domains
пропишешь в конфиге сам.

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

Всего записей: 17279 | Зарегистр. 13-06-2007 | Отправлено: 16:12 09-09-2013 | Исправлено: vlary, 16:14 09-09-2013
Clop345

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Цитата:
local_parts   =  +knownusers  

 
Супер - спасибо!
А как должен выглядеть файлик этот списка?
Будет ли проверяться соответствие юзер@домен если доменов два, три  и т.п.
Скажем user1@domain1.net существует, а user1@domain2.net не существует...

Всего записей: 53 | Зарегистр. 22-03-2010 | Отправлено: 16:26 09-09-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