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

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

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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 16:45 19-10-2015
BlackLabel



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребята помгите с задачей ...  
 
есть простой такой фильтр  
 
if h_from: contains user@domain.com
then
   unseen deliver "robot@domain.com"
endif
 
проблемма в том что пользователю user@domain.com надо дублировать письмо мнoгим адресатам и для этого он пишет все адреса в BCC и вот тут уже затык... как сделать копию писем на robot@domain.com со всех BCC адресов ?

Всего записей: 1042 | Зарегистр. 14-04-2004 | Отправлено: 10:33 23-10-2015
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackLabel
Цитата:
как сделать копию писем на robot@domain.com со всех BCC адресов ?
1. Нафига делать несколько копий одного письма?
2. Можешь использовать переменную $recipients, которая содержит все to, cc и bcc.
Обработай ее с помощью команды foranyaddress

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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 12:11 23-10-2015
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackLabel
Ну во первых лучше указывать не $h_from, а $sender_address, ну это моё мнение.
 
Далее я не очень понимаю зачем Вам это потребовалось, ведь все письма будут одинаковыми, или т.о. ведётся учёт того кому письма были отправлены, так для этого есть лог...
 
Накидал без проверки работоспособности:

Код:
 
if foranyaddress $recipients: ( $thisaddress matches * )
then
  if $h_from: contains user@domain.com
  then
    unseen deliver "robot@domain.com"
  endif  
endif
 

Документация

----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 12:23 23-10-2015 | Исправлено: Alukardd, 12:24 23-10-2015
BlackLabel



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vlary
Alukardd

Цитата:
Далее я не очень понимаю зачем Вам это потребовалось, ведь все письма будут одинаковыми, или т.о. ведётся учёт того кому письма были отправлены, так для этого есть лог

 
Получатель письма для robot@domain.com некая программа которая должна будет отвечать на все адреса..
 
Пытаюсь вникать в написанное , пока сложновато )) но не работает в моем случае и к тоу же ругаеться на  
*
Error in system filter: error while compiling regular expression "*": nothing to repeat at offset 0  
может версия старая ?  
 "dpkg -l | grep exim exim4   4.72-6+squeeze4"
 
Переделал на ( $thisaddress matches ".*" ) письмо подхватывает и отсылает на robot@domain.com  
 
но доходит простой BCC , т.е. if foranyaddress $recipients: никуда не подставилось ?  
 
Даже пробовал подставить в хедеры  
   headers remove "Bcc:"
   headers add "Bcc: $recipients"
 
С токой конструкцией robot@domain.com получает список адресатов , но его так же получает и оригинальный получатель что неприемлимо ...

Всего записей: 1042 | Зарегистр. 14-04-2004 | Отправлено: 13:48 23-10-2015
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackLabel
Лучше условия, которые я написал поменять местами, что бы не гонять сервак по списку когда это не нужно:

Код:
 
if $h_from: contains user@domain.com
then
   if foranyaddress $recipients: ( $thisaddress matches ".*" )
   then
     unseen deliver "robot@domain.com"
  endif
endif  
 

такой код и так должен доставить на robot@domain.com по одному письму на каждого кто представлен в BCC.

----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 07:42 26-10-2015
BlackLabel



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alukardd
 
 
К сожалению не работает , приходит одно письмо ,  что не так я уже и не знаю ... ((

Всего записей: 1042 | Зарегистр. 14-04-2004 | Отправлено: 11:30 27-10-2015
vlary



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


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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 11:57 27-10-2015
redthnb



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Настраиваю mail relay на Debian через Exim4. Письма, отправленные на @domain.com, приходят как и положено. Письма, где в адресате указан name@domain.com и, например, name@gmail.com натыкаются на relay not permitted. Как сделать так, чтобы при нескольких указанных адресатах письмо уходило на @domain.com, а на другие адреса нет? Куда смотреть?
 
/etc/exim4/update-exim4.conf.conf
 

Код:
 
dc_eximconfig_configtype='satellite'
dc_other_hostnames=''
dc_local_interfaces=''
dc_readhost='domain.com'
dc_relay_domains='domain.com'
dc_minimaldns='false'
dc_relay_nets='192.168.0.0/24, 192.168.10.0/16'
dc_smarthost='mail.domain.com::25'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'  

Всего записей: 12 | Зарегистр. 31-10-2008 | Отправлено: 18:35 25-11-2015
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redthnb
Видимо надо убрать запрет на open relay из ACL и использовать headers_rewrite в соответствующем транспорте.
Help здесь. Не уверен что все получится, но так на вскидку не вижу невозможности.

----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 10:51 26-11-2015
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят подскажите по ldap авторизации, что бы exim говорил что тут нет таких, а не exchange
имеется домен artline.local и EXIM 4.77 версии, нашёл примеры настройки старых версий, а у новых они отличаются
имя ldapreader в AD допустим
 
# макросы для работы с LDAP
LDAP_AD_BINDDN = Что должно быть? Поидее тут должен быть пользователь созданный в AD, просто пользователь без прав админа подойдёт? в 2008 нет гостей домена, а то в описание написано (создайте пользователя домена, обязательно определите ему группу "Гости домена", из всех других групп исключите)
LDAP_AD_PASS = password                              тут вроде понятно
LDAP_AD_BASE_DN = DC=artline,DC=local        и тут
 
 
# макрос для проверки пользователей в домене
LDAP_AD_MAIL_RCPT = \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:/// и больше всего интересно что тут должно быть? Может кто то скинет свой рабочий конфиг, спасибо

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 13:25 26-11-2015
redthnb



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
сомневаюсь, что для backup mx мне нужен open relay -.-

Всего записей: 12 | Зарегистр. 31-10-2008 | Отправлено: 17:08 26-11-2015
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1 Ты путаешь авторизацию и проверку наличия почтового ящика.
У меня юзеры вообще хранятся в локальной базе.
Но при желании  можешь сделать скрипт синхронизации базы с  АД


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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 17:21 26-11-2015
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redthnb
Он небудет Open Relay просто вместо проверки адресов на уровне ACL, ты будешь срезать все лишние на уровне transport'а.

----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 17:36 26-11-2015
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary что то я тогда не понимаю, а зачем нужна тогда авторизация с АД? Если я правильно понимаю, она сверяет имена исходящих отправителей и если такого нет, то не шлёт письмо?
Тогда не понимаю как сделать так чтобы приходит из вне письмо, и если такого адреса нет, идёт ответ с exima, а не с exchange?

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 16:37 27-11-2015
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
что то я тогда не понимаю, а зачем нужна тогда авторизация с АД?
Допустим ты хочешь куда-то послать письмо из дома через рабочий сервак.
Любой может использовать твой адрес, поэтому ты должен как-то подтвердить,
что ты - это ты. И ты авторизуешься со своим логином и паролем, используя
то, что у тебя есть - SASL, LDAP, AD, POP before SMTP...
А в твоем случае нужно просто определить, есть такой ящик или нет.
Ты для этого можешь использовать LDAP search AD, локальную базу,
либо встроенный в акцесс листы Exim verify recipient. В последнем случае Exim будет
связываться с эксченжем, и получив от того ответ. что такого юзера нет,
передавать его отправителю.
У меня Exim работает с локальной базой на SQLite, куда записаны все юзеры.
Потому он сам проверяет наличие юзера, и только тогда отправляет письмо на
внутренний сервер.  
Можно написать скрипт, который будет автоматически синхронизировать адреса с АД,
а можно, если юзеров немного и меняются не часто, просто забить вручную.  


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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 19:13 27-11-2015
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlaryспс за объяснение
Вопрос на засыпку, есть exim + exchange 2010 и база Access, в ней вбит адрес SMTP сервера exchange для отправки писем из списка раз в месяц(пробывал и exim указывать), всё до сих пор работало, теперь же в базе висят письма и не отправляются, если слать поштучно уходят, пробовал смотреть логи SMTP exchange, там глухо, письма через telnet что с exhange, что с exim уходят нормально, очередей нет, есть идеи ребят?  

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 12:38 25-01-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
есть идеи ребят?  
Есть. Например, логи посмотреть. Особенно если отправка через exim.


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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 14:12 25-01-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этим именно и занимаюсь, там столько записей что без 100 грамм не разберёшься, понятно дело что exchange тут не причём, проблема действительная странная, такое ощущение что какой то тайм аут срабатывает на массовую рассылку.
Из самого странного  
18:30:49 [16475] 1aMcjh-0004Hj-8p SA: Debug: SAEximRunCond expand returned: '0'
2016-01-22 18:30:49 [16475] 1aMcjh-0004Hj-8p SA: Action: Not running SA because SAEximRunCond expanded to false (Message-Id: 1aMcjh-0004Hj-8p). From <test@film.ru> (host=dd-comp.film.local [10.0.1.8]) for dd@gmail.com
 
 18:31:40 [16480] Start queue run: pid=16480
2016-01-22 18:31:40 [16481] 1aM9k4-0004QO-NF == n.plyusnin@ltinex.ru routing defer (-51): retry time not reached
2016-01-22 18:31:40 [16481] 1aM9k4-0004QO-NF == marketing@ltinex.ru routing defer (-51): retry time not reached
2016-01-22 18:31:41 [16481] 1aM9k4-0004QO-NF == volh@bor.ru R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-01-22 18:31:41 [16481] 1aM9k4-0004QO-NF == sns@tinex.ru R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2016-01-22 18:31:41 [16489] 1aMcBX-00049W-Q3 Message is frozen
 
p.s. кажется я нашёл решение своей проблемы.
 
Удаление DNS кеша в exim  
    
usr/local/etc/rc.d/exim stop
 
cd /var/spool/exim/db
 
rm retry retry.lockfile wait-remote_smtp wait-remote_smtp.lockfile
 
/usr/local/etc/rc.d/exim start
 
 
 

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 17:24 25-01-2016 | Исправлено: Smito1, 17:47 25-01-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
Из самого странного ...  
Да ничего там странного, видимо, просто поскольку письма изнутри наружу,
не срабатывает условие для проверки их Спам Ассасином.


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

Всего записей: 17282 | Зарегистр. 13-06-2007 | Отправлено: 20:13 25-01-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 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