Инструменты пользователя

Инструменты веб-сайта


Примеры конфигурации: подключение для инициализации

Легко масштабируемая архитектура Benno MailArchiv обеспечивает простую интеграцию подсистем Benno MailArchiv с компонентами сторонних производителей.

Пример настройки

Ниже представлен концептуальный пример, описывающий практическую реализацию интеграции Benno MailArchiv в существующую хостинговую инфраструктуру. Описаны следующие конфигурации.

В примерах объясняется подключение к соответствующим внутренним системам хостинг-провайдера с использованием простых и понятных скриптов командной оболочки и текстовых файлов в качестве замены обычно используемых здесь баз данных.

Представленные здесь скрипты и «примеры баз данных» позволяют быстро интегрировать их в ваши собственные хостинговые системы и реализовать на любом языке программирования по вашему выбору.

Внутренняя система

В этом концептуальном исследовании (PoC) используется вымышленная серверная система, которая хранит данные в базе данных SQLite, provisioning.sqlite . База данных показана здесь в качестве примера с четырьмя таблицами.

В этом сценарии с нашим вымышленным хостинг-провайдером ни логины, ни адреса электронной почты, ни псевдонимы не привязаны к почтовым ящикам клиентов постоянно, как это часто бывает на практике. В этом примере настройки адреса электронной почты и псевдонимы клиента могут гибко перемещаться между учетными записями клиента в любое время. Поэтому следующая схема базы данных несколько более обширна, чем в простой конфигурации, где адрес электронной почты (+ адреса псевдонимов) = почтовый ящик.

Настройка почты

Все входящие и исходящие электронные письма проходят через почтовый шлюз (MTA). benno-milter , который временно хранит копию каждого электронного письма.

Кэшированные электронные письма передаются по протоколу SMTP на benno-smtp, работающий на сервере Benno MailArchiv. После этого локальная копия письма на сервере MTA удаляется.

Автоматическое выделение ресурсов

Если клиент подписывается на Benno MailArchiv через онлайн-портал хостинг-провайдера, эта опция вносится в базу данных системы управления ресурсами, после чего обновляется конфигурация Benno MailArchiv. Файл конфигурации benno.xml автоматически создается (генерируется) из базы данных скриптом benno-writeconfig.sh . Затем конфигурация сервиса перезагружается.

benno-writeconfig.sh

#!/bin/sh
 #
 # benno-writeconfig.sh
 (
   cat xml_header.tpl sqlite provisioning.sqlite \ 'SELECT c.displayname,m.maildomain FROM customer AS c ,maildomain AS m WHERE c.customer_id=m.customer_id;'  | \ while  read -d\ | domain customer; do
      cat xml_container.tpl | sed  -e  "s/###CUSTOMER###/  $customer /g" -e  "s/###DOMAIN###/ $domain /" ; done
 
   cat xml_footer.tpl )  >  / etc / benno / benno.xml service benno-archive reload service benno-rest reload

Скрипт benno-writeconfig.sh создает файл benno.xml на основе файлов шаблонов xml_header.tpl , xml_container.tpl и xml_footer.tpl . Шаблон контейнера содержит имя клиента и домен(ы), которые должны быть заархивированы в этом контейнере.

конфигурация сервисов benno-archive и benno-rest .

импорт почты

Копии электронных писем сохраняются системой MILTER на почтовом шлюзе (MTA) в каталоге /milter/spool/dir .

Задание cron milter2smtp считывает файлы .eml. Используя значение X-REAL-RCPTTO , определяется соответствие почтовых ящиков на основе базы данных инициализации.

В приведенном примере запроса к псевдониму info@hansen-und-meyer.de идентификатор почтового ящика " m3 ". Эта информация добавляется в электронное письмо в качестве дополнительного заголовка перед его передачей в benno-smtp . Это гарантирует, что привязка каждого письма к почтовому ящику получателя будет зафиксирована в индексе и архиве в момент доставки.

Аутентификация

При аутентификации в веб-интерфейсе Benno MailArchiv пользователю, назначенному почтовому ящику m3 адрес электронной почты m3@benno-mailarchiv.local в качестве действительного адреса. Это позволяет ему получить доступ к электронной почте, импортированной выше.

X-Benno-MAILBOXID, который вставляется в электронное письмо для целей архивирования, удаляется программой Benno MailArchiv при просмотре или загрузке письма .

configuration examples/connection_provisioning.txt Последнее изменение: 08.01.2019 15:45 lwsystems