[exim-conf] exim-4.68-conf и Dovecot

Victor Ustugov victor на corvax.kiev.ua
Сб Июл 26 20:31:26 EEST 2008


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




Подробная информация о списке рассылки exim-conf