Здравствуйте всем! Проблема следующая. 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?
Заранее спасибо.