Авторизация Exim

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
fank
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение fank » 2009-03-24 16:17:10

как сделать проверку в condition на локального пользователя?
ведь есть mailbox,alias и еще admin таблицы?
неужто кроме как LEFT OUTER JOIN и RIGHT OUTER JOIN по admin, alias никак не получится?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

fank
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение fank » 2009-03-24 17:48:46

если кому понадобится прикрутить procmail:

Код: Выделить всё

########################################################################
# router
procmail:
  debug_print = "R: procmail for $local_part@$domain"
  driver = accept
  domains = +local_domains
        # Дикий запрос чтобы выяснить, есть ли юзер в таблице обычных юзеров ИЛИ админов =)
        # SELECT * FROM alias as a LEFT OUTER JOIN admin as b on a.address = b.username \
        #       WHERE a.address='user@domain.tld' \
        #       UNION ALL \
        #       SELECT * FROM alias as a RIGHT OUTER JOIN admin as b on a.address = b.username \
        #       WHERE a.address is null AND b.username='user@domain.tld';
  condition = ${lookup mysql{SELECT a.address FROM \
  `alias` as `a` LEFT OUTER JOIN `admin` as `b` on a.address = b.username \
  WHERE a.address='${quote_mysql:$local_part@$domain}' \
  UNION ALL \
  SELECT b.username FROM `alias` as `a` RIGHT OUTER JOIN `admin` as `b` on a.address = b.username \
  WHERE a.address is NULL AND b.username='${quote_mysql:$local_part@$domain}'}{yes}{no}}


  transport = procmail_pipe

########################################################################
# transport
procmail_pipe:
  debug_print = "T: procmail_pipe for $local_part@$domain"
  driver = pipe
  command = /usr/bin/procmail -d $local_part
  return_path_add
  delivery_date_add
  envelope_to_add
  log_output
  check_string = "From "
  escape_string = ">From "
  user = $local_part
  group = mail
########################################################################
и комментим транспорт dovecot'а
dovecot_delivery:
...
и его роутер
dovecot_user:
....

fank
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение fank » 2009-03-25 12:58:04

вот, с роутерами все ок
теперь получаю в логах
2009-03-25 11:56:04 1LmPq8-0005nj-GD <= root@mx1.domain.tld U=root P=local S=462 from <root@mx1.domain.tld> for support@domain.tld
2009-03-25 11:56:04 1LmPq8-0005nj-GD Failed to find user "support" from expanded string "$local_part" for the procmail_pipe transport
2009-03-25 11:56:04 1LmPq8-0005nj-GD == support@domain.tld R=procmail T=procmail_pipe defer (-29): Failed to find user "support" from expanded string "$local_part" for the procmail_pipe transport

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: Авторизация Exim

Непрочитанное сообщение J.Korvin » 2009-03-29 12:43:06

Хотел спросить а столько такая связь выдержит пользвателей (максимальная нагрузка)?? И настолько робота сменится если заменить SQL на PostgreSQL (возрастет производительность или нет )??
Эсли ты с ножом значит ты с мясом.

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Авторизация Exim

Непрочитанное сообщение Cancer » 2009-03-29 18:47:48

J.Korvin писал(а):Хотел спросить а столько такая связь выдержит пользвателей (максимальная нагрузка)?? И настолько робота сменится если заменить SQL на PostgreSQL (возрастет производительность или нет )??

На счет СУБД мне кажется будет работать быстрее с MySQL так как он быстрее работает с маленькими БД.

dnk
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-01-14 18:10:46

Re: Авторизация Exim

Непрочитанное сообщение dnk » 2009-03-30 9:23:05

J.Korvin писал(а):Хотел спросить а столько такая связь выдержит пользвателей (максимальная нагрузка)?? И настолько робота сменится если заменить SQL на PostgreSQL (возрастет производительность или нет )??
Из моего опыта : если у тебя пользователей больше 6- 8 000 - однозначно
используй постгресс.Pg работает быстрее по выборке (select) но медленне
по вставке (insert) чем mysql.Но (!) всегда лучше использовать то - что ты лучше знаешь.

exim_user
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение exim_user » 2009-03-30 14:23:07

Подскажите в каком направлении рыть.
Установил openldap-client и exim, исправил конфиг exim по примеру, пытаюсь стартануть exim, а мне в ответ:

Код: Выделить всё

main option "ldap_default_servers" unknown

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: Авторизация Exim

Непрочитанное сообщение J.Korvin » 2009-03-30 15:06:57

exim_user писал(а):Подскажите в каком направлении рыть.
Установил openldap-client и exim, исправил конфиг exim по примеру, пытаюсь стартануть exim, а мне в ответ:

Код: Выделить всё

main option "ldap_default_servers" unknown
Не поставил потдержку LDAP при компиляции.
Эсли ты с ножом значит ты с мясом.

jahfar
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение jahfar » 2009-04-01 9:37:52

Подскажите плз. как авторизовать пользователей подставляя в имя пользователя не user@mydomain , а просто user ?

none
проходил мимо

Re: Авторизация Exim

Непрочитанное сообщение none » 2009-05-06 16:17:14

jahfar писал(а):Подскажите плз. как авторизовать пользователей подставляя в имя пользователя не user@mydomain , а просто user ?
присоединяюсь. очень нужно

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Авторизация Exim

Непрочитанное сообщение dikens3 » 2009-05-13 0:56:33

http://wiki.lissyara.su/wiki/%D0%90%D1% ... B8_dovecot

http://wiki.lissyara.su/wiki/%D0%A3%D1% ... B0_Dovecot

Аутентифицирует mysql запрос. Так что правьте под себя что пожелаете.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Shi3A
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-12 16:09:38

Re: Авторизация Exim

Непрочитанное сообщение Shi3A » 2009-05-16 14:39:25

Доброго времени суток, господа гуру!
Проблема у меня такая, второй день бьюсь над ней, не могу найти решения...
Есть настроенный exim4 и dovecot в качестве почтовиков. И прикручена IlohaMail в качестве морды.
Так вот в чем вопрос, пользователь создает письмо, прикрепляет к нему файл и отправляет. Но на приемной стороне доходит только текст, без вложенного файла, да и то только часть текста.
Причем, если отправить файл отдельно, то он доходит, если отправить текст отдельно, то и он доходит, если отправить этот файл с другим текстом типа "бла бла бла, тест тест тест", то это письмо доходит полностью. Если отправить первый текст с другим вложением, то и оно не доходит...
P.S. Вложение - файл MS Word, второй раз пихал картинку, все равно не доходит
exim в логах пишет -

Код: Выделить всё

2009-05-16 14:46:16 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected "=CF=EE=E6=E0=EB=F3=E9=F1=F2=E0, =F1=EE=EE=E1=F9=E8=F2=E5 =EE =EF=EE=EB=F3=F7=" H=SERVERNAME.local (mail.DOMAIN.ru) [SERVER_IP] I=[SERVER_IP]:25 next input="=E5=ED=E8=E8.\r\n\r\n=D1 =F3=E2=E0=E6=E5=ED=E8=E5=EC,\r\n=C3=F0=E0=E1=E0=F0=ED=E8=EA =CF=E0=E2=E5=EB =D1=E5=EC=E5=ED=EE=E2=E8=F7\r\n\r\n--RWP_PART_NAME@DOMAIN.ru12"
В пришедшем письме заголовки вроде бы нормальные, а вот текст письма:

Код: Выделить всё

--RWP_PART_NAME@DOMAIN.ru1242470540
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: quoted-printable

=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5,=C2=E8=EA=F2=EE=F0!

=CE=F2=EF=F0=E0=E2=EB=FF=FE =EF=EE=E2=F2=EE=F0=ED=EE =EF=F0=EE=E5=EA=F2 =E4=
=EE=E3=EE=E2=EE=F0=E0 =EF=EE =F2=E5=EB=E5=EC=E0=F0=EA=E5=F2=E8=ED=E3=F3. =CE=
=ED =EC=EE=E6=E5=F2
=E0=E4=E0=EF=F2=E8=F0=EE=E2=E0=F2=FC=F1=FF =EF=EE=E4 =EA=EE=ED=EA=F0=E5=F2=ED=
=FB=E5 =F2=F0=E5=E1=EE=E2=E0=ED=E8=FF.
=C5=F1=EB=E8 =E5=F1=F2=FC =EF=F0=E5=E4=EB=EE=E6=E5=ED=E8=FF, =EC=EE=E6=ED=EE =
=EF=EE=F1=F2=E5=EF=E5=ED=ED=EE =E5=E3=EE =EE=F2=F0=E0=E1=E0=F2=FB=E2=E0=F2=FC=
--RWP_PART_NAME@DOMAIN.ru1242470540--
Почитал интернет на тему ошибки в логах, посоветовали отключить SMTP синхронизацию, отключаю:

Код: Выделить всё

smtp_enforce_sync false
Теперь в логах вот такая запись:

Код: Выделить всё

2009-05-16 14:53:29 SMTP syntax error in "=CF=EE=E6=E0=EB=F3=E9=F1=F2=E0, =F1=EE=EE=E1=F9=E8=F2=E5 =EE =EF=EE=EB=F3=F7=" H=SERVERNAME.local (mail.DOMAIN.ru) [SERVER_IP] I=[SERVER_IP]:25 unrecognized command
2009-05-16 14:53:29 SMTP syntax error in "=E5=ED=E8=E8." H=SERVERNAME.local (mail.DOMAIN.ru) [SERVER_IP] I=[SERVER_IP]:25 unrecognized command
2009-05-16 14:53:29 SMTP syntax error in "" H=SERVERNAME.local (mail.DOMAIN.ru) [SERVER_IP] I=[SERVER_IP]:25 unrecognized command
2009-05-16 14:53:29 SMTP syntax error in "=D1 =F3=E2=E0=E6=E5=ED=E8=E5=EC," H=SERVERNAME.local (mail.DOMAIN.ru) [SERVER_IP] I=[SERVER_IP]:25 unrecognized command
Почему-то грешу на IlohaMail, из-под всяких TheBat'ов и ThunderBird'ов (надеюсь правильно написал), отправляется на ура
Жду помощи

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Авторизация Exim

Непрочитанное сообщение Alex Keda » 2009-05-16 22:46:02

опция есть http://www.lissyara.su/?id=1230#hosts_avoid_esmtp
а вообще - поиск по сайту со словами pipelining может принести просветление
Убей их всех! Бог потом рассортирует...

Shi3A
рядовой
Сообщения: 14
Зарегистрирован: 2009-03-12 16:09:38

Re: Авторизация Exim

Непрочитанное сообщение Shi3A » 2009-05-16 23:21:26

Я, отправляя это письмо на любой почтовик, получаю вот такой вот "обрубок" письма, на яндекс, мейл, гугл, рамблер, даже если я внутри сервера отправляю...

Вот это забавно, если посылать с тем куском письма, который доходит, то письмо приходит нормально. А отрезает он только

Код: Выделить всё

.
С уважением,
И.О.Фамилия

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Авторизация Exim

Непрочитанное сообщение Alex Keda » 2009-05-17 20:43:56

lissyara писал(а):опция есть http://www.lissyara.su/?id=1230#hosts_avoid_esmtp
а вообще - поиск по сайту со словами pipelining может принести просветление
Убей их всех! Бог потом рассортирует...

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-20 12:01:54

Статья конечно отличная, но не совсем всё таки полная. несовсем понятно как работать с mboxами.
поясню...сейчас стоит комунигейт на винде. собираю фряху 6.2. хотел попробовать именно экзим в качестве почтовика. у комунигейта вся почта ходит по имапу и хранится в мбоксах. необходимо всех юзверей перетащить на экзим. желательно так же мбоксами (чтобы меньше волокиты было). сижу статью читаю и не могу сообразить. я так понял что за организацию храниеня файлов отвечает dovecot?! т.е. ему надо указать в конфиге что или maildir или mailbox. вроде указал, согласно примера майлбокс:

Код: Выделить всё

default_mail_env = mbox:/var/mail/exim/%d/%n:INDEX=/var/indexes/%d/%n
привентил админку (постфиксадмин)...создал домен, создал юзера...а никаких папок то и не создалось...
от сюда вытекает вопрос - как собственно ещё и админку то прикручивать?! для работы с мускулом логины, пароли и имя базы в конфиге админки изменил на текущие...

Аватара пользователя
Aust
мл. сержант
Сообщения: 135
Зарегистрирован: 2007-11-28 12:27:22
Откуда: Україна, Київ

Re: Авторизация Exim

Непрочитанное сообщение Aust » 2009-05-20 12:12:04

Если я правильно помню, папки создаются, когда появляется хотя бы одно письмо, которое там должно хранится...
Компьютер должен работать, человек - думать.

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-20 15:19:58

Теперь новая проблема кто й что выше...
доставил экзима...сделал конфиг согласно статье...
врубаю на клиенте аутлук. создал юзера тестового... протокол имап. пытаюсь подрубиться, пишет что сервер не пускает. варианты логина с доменной частью и без не проходят.
в логах ПУСТО! ни довекот, ни экзим, ничего по этому поводу не пишут. в аутлуке в учётке нет папкок, т.е. например, при старте аутглюка, он пытается синхронизировать всё, а сервак не пускает.
пытаюсь создать папку или ещё чтото сделать - не пускает..логи пусты у обоих! что делать?!

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-21 8:09:24

и видимо никто не желает помоч да?!

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-21 11:28:28

так, небольшой пргогресс есть, но есть и косяки всё ещё. ящик вроде пошол, довекот вроде больше не тупит. но вот экзим упорствует и не пускает юзера ни по одному из протоколов. пользовался и оутлуком и мазилой...по телнету пока не пробовал....
сделал экзиму ключ -bd -d+all...приведу кусок лога который мне не нравится....

Код: Выделить всё

15:15:53 25610 expanding: $auth1
15:15:53 25610    result: test@test.nsk.su
15:15:53 25610 expanding: $auth2
15:15:53 25610    result: 111
15:15:53 25610 expanding: SELECT `username` FROM `mailbox` WHERE `username`='${quote_mysql:$auth1}' AND `password`='${quote_mysql:$auth2}'
15:15:53 25610    result: SELECT `username` FROM `mailbox` WHERE `username`='test@test.nsk.su' AND `password`='111'
15:15:53 25610 [b]search_open: mysql "NULL"[/b]
15:15:53 25610 [b]search_find: file="NULL"[/b]
15:15:53 25610   key="SELECT `username` FROM `mailbox` WHERE `username`='test@test.nsk.su' AND `password`='111'" partial=-1 affix=NULL starflags=0
15:15:53 25610 LRU list:
15:15:53 25610 internal_search_find: file="NULL"
15:15:53 25610   type=mysql key="SELECT `username` FROM `mailbox` WHERE `username`='test@test.nsk.su' AND `password`='111'"
15:15:53 25610 database lookup required for SELECT `username` FROM `mailbox` WHERE `username`='test@test.nsk.su' AND `password`='111'
15:15:53 25610 MYSQL query: SELECT `username` FROM `mailbox` WHERE `username`='test@test.nsk.su' AND `password`='111'
15:15:53 25610 MYSQL new connection: host=localhost port=0 socket=NULL database=exim user=exim
15:15:53 25610 [b]lookup yielded[/b]: test@test.nsk.su  -  что за словечко такое - yielded?!
15:15:53 25610 expanding: yes
15:15:53 25610    result: yes
15:15:53 25610 expanding: no
15:15:53 25610    result: no
15:15:53 25610 skipping: result is not used
15:15:53 25610 [b]failed to expand: ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username`='${quote_mysql:$auth1}' AND `password`='${quote_mysql:$auth2}'}{yes}{no}
15:15:53 25610    error message: missing or misplaced { or }[/b]
15:15:53 25610 auth_login authenticator:
15:15:53 25610   $auth1 = test@test.nsk.su
15:15:53 25610   $auth2 = 111
15:15:53 25610   $1 = test@test.nsk.su
15:15:53 25610   $2 = 111
15:15:53 25610 expansion failed: missing or misplaced { or }
15:15:53 25610 expanding: $auth1
15:15:53 25610    result: test@test.nsk.su
15:15:53 25610 SMTP>> 435 Unable to authenticate at present
15:15:53 25610 LOG: MAIN REJECT
15:15:53 25610   auth_login authenticator failed for (userson) [192.168.0.112]: 435 Unable to authenticate at present (set_id=test@test.nsk.su): missing or misplaced { or }
15:15:53 25610 SMTP>> 421 mx.test.nsk.su lost input connection
15:15:53 25610 LOG: smtp_connection MAIN
15:15:53 25610   SMTP connection from (userson) [192.168.0.112] lost
15:15:53 25610 search_tidyup called
15:15:53 25610 close MYSQL connection: localhost/exim/exim
15:15:53 25603 child 25610 ended: status=0x100
15:15:53 25603 0 SMTP accept processes now running
15:15:53 25603 Listening...
примерно вот...не могу понять. соответствие конфига в статье и мё касательно связи с мускулом вроде как 1в1...т.е. сам запрос к базе. в чём проблема не могу сообразить!
помогите уже ктонить...сижу второй день над этой хренью...скоро к шефу с докладом идти...

Аватара пользователя
Aust
мл. сержант
Сообщения: 135
Зарегистрирован: 2007-11-28 12:27:22
Откуда: Україна, Київ

Re: Авторизация Exim

Непрочитанное сообщение Aust » 2009-05-21 11:38:42

а "failed to expand" и "error message: missing or misplaced { or }[/b]" ни о чем тебе не говорят? У тебя запрос не правильный, посчитай скобки, почитай доки по формированию запросов...
Компьютер должен работать, человек - думать.

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-21 11:54:12

на теги [/b] прошу внимания не обращать...пытался внутри кода сделать выделение жирным шрифтом))))
про запросы...и скобки считал тоже...я же говорю, всё как в статье, запросы такие же ничего не менял по части запросов к базе...

Аватара пользователя
Aust
мл. сержант
Сообщения: 135
Зарегистрирован: 2007-11-28 12:27:22
Откуда: Україна, Київ

Re: Авторизация Exim

Непрочитанное сообщение Aust » 2009-05-21 12:04:56

Я не знаю как ты скобки считал, но в конце одной не хватает.... Почему бы не подумать немного, а не в тупую передирать конфиг?
Компьютер должен работать, человек - думать.

Sayman
ефрейтор
Сообщения: 67
Зарегистрирован: 2008-01-11 17:23:55

Re: Авторизация Exim

Непрочитанное сообщение Sayman » 2009-05-22 7:28:05

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Авторизация Exim

Непрочитанное сообщение Alex Keda » 2009-05-24 1:57:49

почему не даст? у меня же есть
Изображение
Убей их всех! Бог потом рассортирует...