Не работают методы авторизации exim

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
tom.cat
старшина
Сообщения: 449
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Москва
Контактная информация:

Не работают методы авторизации exim

Непрочитанное сообщение tom.cat » 2013-01-21 21:09:27

Всем привет.
Суть такова. Есть почтовый сервачок с dovecot & exim.
Что стоит:
Инфа по довекоту

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

$ dovecot --version
2.1.12
$ dovecot -n
# 2.1.12: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 9.1-RELEASE amd64  ufs
auth_mechanisms = plain login
auth_socket_path = /var/run/dovecot/auth-userdb
auth_verbose = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
first_valid_gid = 0
first_valid_uid = 25
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
mail_location = maildir:/var/mail/exim/%d/%n
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  mail_log_fields = uid box msgid size
  quota_rule = *:storage=100M
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
}
protocols = imap pop3
service auth {
  unix_listener auth-userdb {
    mode = 0666
    user = mailnull
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl_cert = </usr/local/etc/dovecot/ssl.crt
ssl_key = </usr/local/etc/dovecot/ssl.key
ssl_key_password = ooops!
userdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol pop3 {
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_uidl_format = %08Xu%08Xv
}
Imap работает как надо и принимает почту как положено.
Что касается экзима:

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

$ exim -v
Exim is a Mail Transfer Agent. It is normally called by Mail User Agents,
not directly from a shell command line. Options and/or arguments control
what it does when called. For a list of options, see the Exim documentation.
$ exim -bV
Exim version 4.80.1 #1 (FreeBSD 9.1) built 17-Jan-2013 19:04:45
Copyright (c) University of Cambridge, 1995 - 2012
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2012
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning DKIM Old_Demime
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /usr/local/etc/exim/configure
Конфиг экзима секции авторизации:

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

PLAIN:
  driver                     = plaintext
  public_name                = PLAIN
  server_set_id              = $auth2
  server_prompts             = :
  server_condition           = ${lookup mysql{SELECT `username` FROM \
                     `mailbox` WHERE `username` = \
                     '${quote_mysql:$auth2}' AND `password` = \
                     '${quote_mysql:$auth3}'}{yes}{no}}
  server_advertise_condition = ${if def:tls_cipher }
LOGIN:
  driver                     = plaintext
  public_name                = LOGIN
  server_set_id              = $auth1
  server_prompts             = <| Username: | Password:
  server_condition           = ${lookup mysql{SELECT `username` FROM \
                     `mailbox` WHERE `username` = \
                     '${quote_mysql:$auth1}' AND `password` = \
                     '${quote_mysql:$auth2}'}{yes}{no}}
  server_advertise_condition = ${if def:tls_cipher }
cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT `password` FROM \
                        `mailbox` WHERE `username` \
                        = '${quote_mysql:$auth1}'}{$value}fail}
  server_set_id = $auth2
  server_advertise_condition = ${if def:tls_cipher }
Делал по бессмертной статье Лиса. Но, что-то не срослось, звезды не в том созвездии и у меня вылетает такая шняжка при запросе методов авторизации:

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

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost, ESMTP EXIM 4.80.1
ehlo client.example
250-localhost Hello client.example [127.0.0.1]
250-SIZE 2097152
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
По идее должно быть еще такое:

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

250-AUTH PLAIN
Не могу понять, что влияет на запуск этих методов? Не отображается ни один, и естессно письмена не могу отправить.
When you see pigs fly it means Windows has become open source

Хостинговая компания 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/

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Не работают методы авторизации exim

Непрочитанное сообщение ChihPih » 2013-01-21 22:26:46

Закомментите везде эту строку и попробуйте снова:

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

server_advertise_condition = ${if def:tls_cipher }
www.info-x.org - информационный ресурс о ОС FreeBSD.

Аватара пользователя
tom.cat
старшина
Сообщения: 449
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Москва
Контактная информация:

Re: Не работают методы авторизации exim

Непрочитанное сообщение tom.cat » 2013-01-21 22:32:21

Пипец, я уже ужика родил. А почему с этой строкой не работало?
When you see pigs fly it means Windows has become open source

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Не работают методы авторизации exim

Непрочитанное сообщение ChihPih » 2013-01-21 22:36:58

Потому что данная строка определяет условие, при выполнении которого будет доступен данный метод авторизации. То есть в данном случае - любой из вышеперечисленных методов авторизации можно было использовать только, когда соединение зашифровано.
www.info-x.org - информационный ресурс о ОС FreeBSD.

Аватара пользователя
tom.cat
старшина
Сообщения: 449
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Москва
Контактная информация:

Re: Не работают методы авторизации exim

Непрочитанное сообщение tom.cat » 2013-01-21 22:41:35

Спасибо, коллега :) Я как-то на эту строку особого внимания не обратил.
When you see pigs fly it means Windows has become open source