Sasha Usov wrote:
> Здравствуйте!
здравствуйте
> Виктор, не планируете ли Вы включить в конфигуратор возможность сборки
> конфига с транспортом для Dovecot?
в таком виде, как описано ниже, нет
> Имеется в виду, хотя бы, для
> доставки виртуальным пользователям.
> При таком конфиге (фрагмент):
>> define(`confVIRTUSERTABLE', `MYSQL')dnl
> define(`confVIRTUSERTABLE_MYSQL', `SELECT goto FROM alias WHERE address="${quote_mysql:$local_part@$domain}"')dnl
> define(`confVIRTUSERTABLE_DOMAIN_MYSQL', `SELECT goto FROM alias WHERE address="${quote_mysql:@$domain}"')dnl
> define(`confDELIVERY_TO', `MDIR_VIRTUAL')dnl
> define(`confVIRT_MDIR_ROOT', `/var/vmail')dnl
> define(`confVIRT_MDIR_PATH', confVIRT_MDIR_ROOT`/$domain/$local_part')
> define(`confVIRT_MDIR_USER', `mailnull')dnl
> define(`confVIRT_MDIR_GROUP', `mail')dnl
> define(`confVIRT_MDIR_USERLIST', `MYSQL')dnl
> define(`confVIRT_MDIR_MYSQL', `SELECT username, maildir as home, maildir as maildir FROM mailbox WHERE username="${quote_mysql:$local_part@$domain}" AND active="1"')dnl
> define(`confVIRT_MDIR_ALIASES', `MYSQL')dnl
> define(`confVIRT_MDIR_MYSQL_ALIAS', `SELECT goto FROM alias WHERE address="${quote_mysql:$local_part@$domain}"')dnl
>> Получаем конфиг, который после лукапа адреса получателя в мускуле
> будет отправлять через транспорт delivery_to_virt_domain:
>> ...
>> virtual_domains_mysql:
> driver = accept
> domains = +local_domains
> address_data = ${lookup mysql{ \
> SELECT username, maildir as home, maildir as maildir FROM mailbox WHERE username="${quote_mysql:$local_part@$domain}" AND active="1" \
> }{$value}fail}
>> transport = delivery_to_virt_domain
> log_as_local = false
>> ...
>> delivery_to_virt_domain:
> driver = appendfile
> directory = ${extract{maildir}{$address_data}}
>> delivery_date_add
> envelope_to_add
> return_path_add
> group = mail
> user = mailnull
> maildir_format = true
> create_directory = true
> directory_mode = 0750
> mode = 0640
>>> У меня не работает (appendfile: file or directory name
> "usoff на yuventa.kiev.ua/" is not absolute)
ну так надо или абсолютный путь указать в базе или в виде статического
текста в тексте запроса.
у меня сейчас на подавляющем большинстве серверов используется как раз
доставка в виртуальные мейлдиры и в качестве imap сервера используется
dovecot. и никаких нерешаемых проблем при интеграции нет.
> И я врчуную меняю delivery_to_virt_domain, например, на
> delivery_virt_to_dovecot (на проверенный маршрут)
>> ...
>> delivery_virt_to_dovecot:
> driver = pipe
> command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
> message_prefix =
> message_suffix =
> log_output
> delivery_date_add
> envelope_to_add
> return_path_add
> group = mail
>> ======================================
>> Менять не так уж и много, но неудобно на практике, если отлаживать
> конфиг и пересобирать конфиг с разными правилами.
выйду из отпуска и реализую тип транспорта pipe.
путь на бинарник можно будет указывать в параметрах транспорта. т. е.
привязываться исключительно к dovecot'у я не буду.
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 32418694 nic-handle: CRV2-RIPE, CRV-UANIC