[exim-conf] новый паровоз 4.69

Victor Ustugov victor на corvax.kiev.ua
Пн Окт 27 20:46:16 EET 2008


Victor Ustugov wrote:

> скорее всего позже будет пересмотрен механизм взаимодействия с 
> cyrus-imapd. я не использую его (как и dbmail), нынешний механизм работы 
> с cyrus-imapd был реализован давно и является достаточно примитивным.
> 
> так что возможно для работы с cyrus-imapd будут опробованы такие же три 
> схемы, как для dbmail, а отдельный механизм взаимодействия (CYRUS в 
> значении confDELIVERY_TO) будет упразднен.

итак, вот сегодняшние изменения, касающиеся интеграции с cyrus-imapd:

реализована возможность указывать ручные маршруты для проверки 
существования получателей по LMTP по аналогии с проверкой существования 
получателей по SMTP. имеется ввиду использование суффикса "|callout" в 
mailertable.

существенно пересмотрена поддержка доставки в cyrus-imapd:

использование значения CYRUS в переменной confDELIVERY_TO упразднено 
(необходимо использовать значение MDIR_VIRT в переменной confDELIVERY_TO)

при необходимости проверки получателей с помощью mbpath необходимо в 
переменной confVIRT_MDIR_USERLIST указать CYRUS-IMAPD, а путь к mbpath 
указать в переменной confVIRT_MDIR_CYRUS_MBPATH_PATH, а не в переменной 
confCYRUS_MBPATH_PATH

переменная confCYRUS_LMTP_SOCKET упразднена путь к файлу сокета должен 
быть указан в mailertable

переменная confCYRUS_USER упразднена пользователь, от имени которого 
будет произведена запись в UNIX domain socket, должен быть указан в 
mailertable

переменная confCYRUS_BATCH_MAX упразднена


для доставки писем cyrus-imapd разработаны несколько схем:

1. доставка через внешний LDA, проверка существования получателей 
производится с помощью mbpath:

define(`confDELIVERY_TO', `MDIR_VIRTUAL PIPE')dnl
define(`confVIRT_MDIR_PIPE', `/usr/lib/cyrus-imapd/deliver -f 
$sender_address $local_part@$domain')
define(`confVIRT_MDIR_USER', `cyrus')dnl
define(`confVIRT_MDIR_GROUP', `mail')dnl
define(`confVIRT_MDIR_USERLIST', `CYRUS-IMAPD')dnl
define(`confVIRT_MDIR_CYRUS_MBPATH_PATH', `/usr/lib/cyrus-imapd/mbpath')dnl

алтернативным вариантом является доставка через внешний LDA по LMTP:

define(`confDELIVERY_TO', `MDIR_VIRTUAL PIPE-LMTP')dnl
define(`confVIRT_MDIR_PIPE', `/usr/lib/cyrus-imapd/deliver -l')
define(`confVIRT_MDIR_USER', `cyrus')dnl
define(`confVIRT_MDIR_GROUP', `mail')dnl
define(`confVIRT_MDIR_USERLIST', `CYRUS-IMAPD')dnl
define(`confVIRT_MDIR_CYRUS_MBPATH_PATH', `/usr/lib/cyrus-imapd/mbpath')dnl


2. доставка по LMTP, проверка существования получателей производится с 
помощью mbpath):

путь к сокету указывается в mailertable, в случае использования 
нестандартного LMTP порта его номер нужно указать после имени хоста 
через два двоеточия, в случае необходимости указания имени пользователя 
и группы, от имени которых необходимо производить запись в файл UNIX 
Domain сокета, их нужно указать после имени файла сокета через двоеточия:

mailertable:
cyrus.domain.tld : lmtp : localhost
cyrus.domain.tld : lmtp : localhost::2024
cyrus.domain.tld : lmtpunix : /var/lib/imap/socket/lmtp:cyrus:mail

define(`confDELIVERY_TO', `MDIR_VIRTUAL')dnl
define(`confVIRT_MDIR_USER', `cyrus')dnl
define(`confVIRT_MDIR_GROUP', `mail')dnl
define(`confVIRT_MDIR_USERLIST', `CYRUS-IMAPD')dnl
define(`confVIRT_MDIR_CYRUS_MBPATH_PATH', `/usr/lib/cyrus-imapd/mbpath')dnl


3. доставка почты рилеемых доменов в cyrus-imapd по LMTP через TCP сокет 
(проверка существования получателей осуществляется с помощью callout'а, 
при этом cyrus-imapd lmtpd должен быть запущен с опцией -a):

mailertable:
cyrus.domain.tld         : lmtp : localhost
cyrus.domain.tld|callout : lmtp : localhost

если cyrus-imapd использует lmtp порт, отличный от 24-го, это нужно указать
в явном виде:
cyrus.domain.tld         : lmtp : localhost::2024
cyrus.domain.tld|callout : lmtp : localhost::2024

производить доставку почты рилеемых доменов в cyrus-imapd по LMTP через 
UNIX Domain сокет не рекомендуется, т. к. в этом случае exim не будет 
производить callout для проверки существования адреса получателя.


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