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

Victor Ustugov victor на corvax.kiev.ua
Пт Авг 1 11:42:58 EEST 2008


Sasha Usov wrote:
> Здравствуйте, Victor.

здравствуйте

>>> Виктор, не планируете ли Вы включить в конфигуратор возможность сборки
>>> конфига с транспортом для Dovecot?
> 
>> в таком виде, как описано ниже, нет
> 
>>> У меня не работает (appendfile: file or directory name
>>> "usoff на yuventa.kiev.ua/" is not absolute)
> 
>> ну так надо или абсолютный путь указать в базе или в виде статического
>> текста в тексте запроса.
> 
> Да, таки решил путем подбора запроса со статическим путем - к базе
> правильно адаптировать запрос не получилось. Я базу себе делал на
> основе postfixadmin - веб-админка для управления доменами и учетками.
> А там путь к maildir максимум указан в виде: user на domain.tld/
> 
> Получился такой костыль:
> 
> define(`confVIRT_MDIR_MYSQL', `SELECT username, maildir as home, maildir = "/var/vmail/$domain/$local_part" FROM mailbox WHERE username="${quote_mysql:$local_part@$domain}"')dnl

я бы просто CONCAT'ом сцепил статическую часть пути к мейлдиру с 
данными, хранящимися в таблице

> По сути моего запроса, здается мне, в нем много лишнего для моего
> случая ;)
> 
> Вообще думал, что именно эти параметры определят место виртуальным
> папкам:
> define(`confVIRT_MDIR_ROOT', `/var/vmail')dnl
> define(`confVIRT_MDIR_PATH', confVIRT_MDIR_ROOT`/$domain/$local_part')

данные из этих переменных используются в случае, когда учетные записи 
хранятся в текстовых файлах

> Ну, а к слову о базе: Виктор, в примерах паровоза указаны запросы к какой-то из
> общедоступных типов БД управления почтовыми настройками (на том же
> веб-интерфейсе) или это Ваша собственная база, с которой работатете?

это просто примеры.

> Дамп не прилагается для примера? ;)

http://mta.org.ua/exim-4.68-conf/contrib/mysql41/

>> у меня сейчас на подавляющем большинстве серверов используется как раз
>> доставка в виртуальные мейлдиры и в качестве imap сервера используется
>> dovecot. и никаких нерешаемых проблем при интеграции нет.
> 
> Я долго мучался прикрутить cyrus - уже и клиентами к нему коннектился
> нормально, но эксим так и не мог достать письмо адресату
> mailnull на relay.domain.tld - Cyrus delivery faild. Чего-то не учел
> возможно... Правда у меня тогда и с патчами не складывалось, возможно
> его и не хватало...
> 
> Ну вот на виртуальной машинке поробовал Dovecot - на порядок легче
> поднимается.
> 
> Но остается не разрешенной та же проблема с версией Berkley DB. Не
> подскажет ли кто-нибудь, в какой последовательности, с какими опциями,
> надо собирать perl и exim на freebsd, чтоб установленные паровозом
> базы были доступны для exim-a?

вопрос немного некорректно поставлен. паровоз тут ни при чем. вопрос в 
том, чтобы и exim и perl использовали функции из одинаковых версий 
Berkeley DB

> Раньше без проблем все работало, еще
> будучи собраным конфигуратором 4.67. Только после попытки обновиться с
> паровозом 4.68 у меня появились такие косяки... :/

ну и причем тут конфигуратор?!

> Если работающий
> релей уже давно собирался и, вполне возможно, что я уже забыл как собирал
> отдельные его части, то на новом, голом - проблему выловить должно
> быть проще - но не возьму в толк, где она возникает...
> 
> failed to expand ACL string "${if
> eq{$acl_m0}{yes}{${perl{dbm_save}{/var/spool/exim/db/proxycheck.db}{$sender_host_address}{openproxy}{1}}}{${perl{dbm_save}{/var/spool/exim/db/proxycheck.db}{$sender_host_address}{ok}{1}}}}": couldn't init DB '/var/spool/exim/db/proxycheck.db': Inappropriate file type or format 

а если удалить /var/spool/exim/db/proxycheck.db, а потом попробовать 
записать в него даннные из перловой функции? а потом провести поиск по 
этому файлу эксимом

> PERL_VER=5.8.8
> PERL_VERSION=5.8.8
> 
> # EXIM
> .if ${.CURDIR:N*/usr/ports/mail/exim} == ""
> WITH_CONTENT_SCAN=yes
> WITH_PERL=yes
> WITH_BDB=yes
> #WITH_BDB_VER?=41 - тут закоментировано, но даже без ╨той строчки exim
> собирается с версией 41
> WITH_SASLAUTHD=yes
> WITH_OPENLDAP=yes
> WITH_OPENLDAP_VER=23
> WITH_CONTENT_SCAN=yes
> WITH_DEFAULT_CHARSET?=ru_RU.KOI8-R
> WITH_MYSQL=yes
> WITH_SQLITE=yes
> #WITH_SPF=yes
> #WITH_SRS=yes
> WITH_DNSDB=yes
> WITH_LMTP=yes
> WITHOUT_IPV6=yes
> .endif

после последней пересборки перла порты db4* пересобирались?

>> выйду из отпуска и реализую тип транспорта pipe.
> 
>> путь на бинарник можно будет указывать в параметрах транспорта. т. е.
>> привязываться исключительно к dovecot'у я не буду.
> 
> Кстати, почему в новом паровозе уже нет опций для domains-relayto?

каких именно?

> Пытаясь обойтись без domains-exchange, с которыми у меня работает exim
> в версии 4.67 паровоза, я не разобрался, как же обойтись еще и без
> domains-relayto, чтобы воспользоваться callout-ом для доставки писем
> на Exchange, используя domains-relayto и mailertable
> 
> mydomain1.tld         : smtp : 192.168.0.10
> mydomain1.tld|callout : smtp : 192.168.0.10

не совсем понятно, почему возникло желание "обойтись еще и без 
domains-relayto". в вашем случае почта для mydomain1.tld является почтой 
рилеемого домена. посему по моему глубокому убеждению желание "обойтись 
еще и без domains-relayto" является слабообоснованным.

> Собственно, вопросы адресую не буквально Виктору, автору конфигуратора, а любому,
> кто имеет дело с подобными настройками паровоза и - успешнее меня ;)



-- 
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