exim + cyrus + mysql - virtualusers

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Shinkei aka HepB
проходил мимо
Сообщения: 1
Зарегистрирован: 2008-06-01 16:10:52

exim + cyrus + mysql - virtualusers

Непрочитанное сообщение Shinkei aka HepB » 2008-06-01 16:19:29

Настраиваю связку exim + cyrus_imap + mysql

Логины пользователей имеют вид user_xxx, ящики - user@domain

Почту предполагается хранить в imap.

При отправке по smtp получаю следующее сообщение в логах:

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

May 31 20:29:40 inside02 exim[7368]: Delay 0s for melchior.shinkei.ru [89.163.122.149] with HELO=shinkei.ru. Mail from shinkei@ya.ru to admin@kadva.ru.
May 31 20:29:49 inside02 exim[7368]: 1K2Txj-0001uq-2E <= shinkei@ya.ru H=melchior.shinkei.ru (shinkei.ru) [89.163.122.149] I=[77.222.32.6]:25 P=smtp S=227 from <shinkei@ya.ru> for admin@kadva.ru
May 31 20:29:49 inside02 exim[7395]: 1K2Txj-0001uq-2E ** admin@kadva.ru R=mysqluser T=cyrus_delivery: LMTP error after RCPT TO:<admin@kadva.ru>: 550-Mailbox unknown. Either there is no mailbox associated with this\n550-name or you do not have authorization to see it.\n550 5.1.1 User unknown

Судя по всему мой EXIM пытается скормить cyrus письмо для admin@kadva.ru. При этом я желаю чтобы письма он кормил не для алиаса admin@kadva.ru к ящику kadva_1, а именно для kadva_1.

В конфиге EXIM по этому поводу есть:

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

# чё делаем с почтой
begin routers

# Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS -
# то это `унроутабле аддресс`. Не проверяются локальные
# домены, 0.0.0.0 и 127.0.0.0/8
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{select alias.address from box, alias \
where alias.address='${quote_mysql:$local_part@$domain}' \
and box.box_id=alias.box }}

mysqluser:
driver = accept
condition = ${if eq{}{${lookup mysql{select box.login from box, alias \
where alias.address='${quote_mysql:$local_part@$domain}' \
and box.box_id=alias.box }}}{no}{yes}}
transport = cyrus_delivery

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

# начинаются транспорты - как доставляем почту
begin transports

# Доставка на удалённые хосты - по SMTP
remote_smtp:
driver = smtp

# Транспорт для доставки почты локальным пользователям.
cyrus_delivery:
driver = lmtp
socket = /var/imap/socket/lmtp
batch_max = 100
user = cyrus

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

# Имя программы
address_pipe:
driver = pipe
return_output

# Транспорт для автоответов
address_reply:
driver = autoreply



Вообще всё нагло содрано с http://www.lissyara.su/?id=1626

только у меня база своя, и логин напрямую совпадает с именем папки юзера в imap.

Куда копать?

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

База алиасов:
alias_id
box (id бокса)
address (admin@kadva.ru например)
domain (id домена)

База боксов:
box_id
login (логин, он же имя папки в imap)
pass

База доменов:
domain_id
domain
active_flag
Последняя таблица юзается только для удобства

Пробовал засунуть в секцию rewrite:

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

\^(.*)@(.*)$\    ${lookup mysql{select box.login from box, alias where alias.address=$1@$2 and box.box_id=alias.box }{$value}}  bctTS

exim при этом не запускается с сообщением:

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

Starting exim.
2008-06-01 17:18:50 Exim configuration error in line 494 of /usr/local/etc/exim/configure:
  unknown rewrite flag character 'm' (could be missing quotes round replacement item)

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

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

Re: exim + cyrus + mysql - virtualusers

Непрочитанное сообщение Alex Keda » 2009-03-11 1:32:59

цирроз - ф топку.
юзайте довекот
Убей их всех! Бог потом рассортирует...