SMTP| | +----v-------+ | | | МИЛТЕР | MAILGW1 | +--------+ +------------------+ | | | | | | | +----v-------+ | | |КЛИЕНТ1| | | | | | | +------->| БЕННО |--------| | | | | | +----v-------+ | | |КЛИЕНТ2| | | | | | | | | MAILGW2 | +--------+ +------------------+ | | | МИЛТЕР +------------+
Если электронные письма импортируются из нескольких разных систем, существует риск того, что одно и то же письмо будет импортировано несколько раз или некорректно.
В этом примере на системе Benno настроены два клиента. Каждый клиент настроен таким образом, что все электронные письма, отправляемые на его домен и получаемые с него, архивируются в Benno.
У каждого клиента есть свой почтовый шлюз, через который он получает и отправляет электронные письма. Соединение Бенно устанавливается через MILTER на обоих почтовых шлюзах.
Если Клиент1 отправляет электронное письмо Клиенту2, оно проходит через оба почтовых шлюза и передается с обоих MILTER в Benno MailArchiv. Когда MAILGW1 отправляет письмо на MAILGW2, SMTP-серверы добавляют к письму дополнительные заголовки, в результате чего контрольные суммы . Следовательно, письмо импортируется в систему каждого клиента дважды.
Другая проблема возникает, если, например, электронное письмо принимается MAILGW1, но пересылка на MAILGW2 не удается. В этом случае необходимо убедиться, что электронное письмо было импортировано только Client1, но не Client2.
Описанных выше проблем при настройке с несколькими источниками импорта можно избежать, если информация об исходной системе включается в импортируемое электронное письмо и определяется уровне клиента
При переносе данных из исходной системы в интерфейс импорта Benno MailArchiv предоставляется возможность установки заголовка X-BENNO-GW. Например, MAILGW1 или MAILGW2. В зависимости от используемого инструмента импорта заголовок может быть настроен соответствующим образом.
Демон MILTER устанавливает заголовок в значение, указанное в конфигурационном файле /etc/default/benno-milter.
MILTERARGS="-x CANDANT1"
В качестве альтернативы, отправку электронных писем можно настроить через SMTP с помощью benno-milter2smtp . В этом случае параметр командной строки -x MANDANT1 задается в задании cron.
Здесь параметр также можно передать как -x MANDANT1 через командную строку или установить extraheader_value = MANDANT1
Инструмент benno-imapimport устанавливает заголовок с помощью параметра -x MANDANT1 или в конфигурационном файле extraheader = X-BENNO-GW: MANDANT1 .
В "
directory = "/srv/benno/inboxes/mx1" pattern = ".*.eml" > > > > X-REAL-MAILFROM > > X-BENNO-GW > От > > > > X-REAL-RCPTTO > > BCC > > К > > CC > > > > X-REAL-MAILFROM > > X-REAL-RCPTTO > > X-BENNO-GW > > BCC > > >
Значение X-BENNO-GW может быть указано в качестве дополнительного или исключающего критерия для назначения контейнера контейнеру в критериях контейнера.
Если источник импорта (MILTER, benno-exchange) импортирует только одного клиента, достаточно указать заголовок X-BENNO-GW для назначения. Если впоследствии клиенту будут назначены дополнительные домены, изменять конфигурацию здесь не потребуется.
> Клиент 1 > > sender = "true" > MAILGW1 > > ...
В этом случае необходимо учитывать значение X-BENNO-GW и домен клиента.
> Клиент 1 > > > sender = "true" > MAILGW2 > > отправитель = "true" получатель = "true" от = "true" кому = "true" cc = "true" > client2.de > отправитель = "true" получатель = "true" от = "true" кому = "true" cc = "true" > client2.com > > > > ...