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

Sasha Usov blessendor на gmail.com
Сб Июл 26 18:39:55 EEST 2008


Здравствуйте!

Виктор, не планируете ли Вы включить в конфигуратор возможность сборки
конфига с транспортом для 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>





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