Здравствуйте!
Виктор, не планируете ли Вы включить в конфигуратор возможность сборки
конфига с транспортом для 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)
И я врчуную меняю 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
======================================
Менять не так уж и много, но неудобно на практике, если отлаживать
конфиг и пересобирать конфиг с разными правилами.
--
Sasha Usov
<blessendor на gmail.com>