Страница 1 из 1

Exim+mysql-не шарит

Добавлено: 2007-11-01 23:37:37
lior
Здравствуйте всем! Проблема следующая. Ecть exim, пользователи хранятся в MySQL. Таблица с пользователями такая

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

mysql> CREATE TABLE users ( -> id varchar(64) NOT NULL default '', -> crypt varchar(64) NOT NULL default '', -> passwd varchar(64) NOT NULL default '', -> uid int(10) unsigned default '8', -> gid int(10) unsigned default '12', -> mbox_host varchar(128) NOT NULL default 'example.ru', -> shell varchar(32) binary default '/sbin/nologin', -> home varchar(128) binary default '/home/vmail/domains', -> quota tinyint(4) default '15', -> active enum('Y','N') default 'Y', -> PRIMARY KEY (id,mbox_host)); 
Не работает smtp аутентификация. Используется метод cram-md5:

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

auth_cram_md5: driver = cram_md5 public_name = CRAM-MD5 server_secret = ${lookup mysql{SELECT passwd FROM users \ WHERE id = '${qote_mysql:${local_part:$auth1}}' \ AND mbox_host = '${quote_mysql:${domain:$auth1}}' \ AND active = 'Y'}{$value}fail} server_set_id = $auth1 
exim пишет что некорректный данные типа аутентификационные. После включения логов mysql выяснилось, что в запросе в этом mbox_host=''. Поэтому запрос ниче не возвращает. Я так понимаю, что строка '${quote_mysql:${domain:$auth1}}' должна вернуть доменную часть адреса отправителя. аутентификация работает, если логин пользователя в почтовом клиенте представить в виде имя пользователя@домен. но тогда почтовики такие письма не принимают, так как адрес отправителя у них виден как имя пользователя@домен@домен. Что делать? ) За одно, скажите плиз, что делает оператор qote_mysql, че то из доки не ясно полностью. И правильно ли я понимаю, что $auth1 - это полный адрес отправителя, а не только его local_part?

Заранее спасибо.

P.S. писал в аутентификаторе крам-мд5 всякие отладочные выражения и выяснил, что за $auth1 принимается только имя пользователя. поэтому выражение domain:$auth1 ничего не возвращает. Что делать???????

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 0:19:43
Alex Keda
а вот что запихает юзер в строку авторизации - то и будет.
можно полный адрес дать, а можно и неполный...

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 0:35:22
lior
lissyara писал(а):а вот что запихает юзер в строку авторизации - то и будет.
можно полный адрес дать, а можно и неполный...
так что же делать? Я пишу в строку авторизации в почтовом клиенте имя@домен - почтовики, куда письмо идет, отсылают ошибку типа неверный адрес отправителя имя@домен@домен. А если в почтовом клиенте в имени пользователя написать только его имя, то авторизация не проходит, так как не срабатывает выражение, вычисляющее доменное имя от адреса отправителя письма.

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 0:47:41
Alex Keda
в конфиге

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

контрол = субмиссион
отключи...

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 0:58:14
lior
lissyara писал(а):в конфиге

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

контрол = субмиссион
отключи...
Блин !!!!!!!! Помогло. но нужно отключать то выражение контрол=субмиссион, которое под выражением аксепт аутентификэйтед = *. А что это выражение означает, я из описания в конфиге не понял?

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 1:29:11
Alex Keda
в документации описано.
на сайте, в соответствующем разделе

Re: Exim+mysql-не шарит

Добавлено: 2007-11-02 1:34:46
lior
Спасибо!