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

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


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

Это старая версия документа!


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

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

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

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

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

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

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

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

Alle ein- und ausgehenden E-Mails werden über ein Mail-Gateway (MTA) geroutet. Auf diesem ist ein benno-milter konfiguriert, der von jeder E-Mail eine Kopie zwischenspeichert.

Die zwischengespeicherten E-Mails werden per SMTP an den auf dem Benno MailArchiv-Server laufenden benno-smtp Daemon übermittelt. Die lokale Kopie der Mail auf dem MTA wird nach Übergabe an Benno MailArchiv gelöscht.

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

Falls ein Kunde das Produkt Benno MailArchiv im Online-Portal des Hosters bucht, wird die Option in der Datenbank des Provisioning-Systems des Hosters eingetragen und anschließend die Aktualisierung der Benno MailArchiv Konfiguration getriggert. Die Konfigurationsdatei benno.xml wird dabei von benno-writeconfig.sh automatisch aus der Datenbank heraus erstellt (generiert). Anschließend wird die Konfiguration der Benno-Dienste neu geladen, so dass die um den neuen Kunden ergänzte Konfiguration aktiviert wird.

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

Das obige Script benno-writeconfig.sh generiert die Konfigurationsdatei benno.xml automatisch aus den Template-Dateien xml_header.tpl, xml_container.tpl, xml_footer.tpl. Im Container-Template wird der Name des Kunden sowie die Domain(s), die in diesem Container archiviert werden sollen, eingesetzt.

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

импорт почты

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

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

Im Beispiel-Setup liefert die Abfrage für den Alias info@hansen-und-meyer.de die Mailbox-Id „m3“. Diese Information wird vor dem Übertragen der E-Mail an benno-smtp als zusätzlicher Header in die E-Mail eingetragen. Somit wird die Zuordnung der einzelnen Mail zur Empfänger-Mailbox zum Zeitpunkt der Zustellung in Index und Archiv festgehalten.

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

Bei der Authentisierung am Web-Interface von Benno MailArchiv wird dem Benutzer, dem die Mailbox m3 zugeordnet ist, die E-Mail Adresse m3@benno-mailarchiv.local als für ihn gültige Adresse übergeben. Damit kann er auf die oben importierte E-Mail zugreifen.

Der für diese Zwecke beim Archivieren in die Mail eingefügte Header X-Benno-MAILBOXID wird von Benno MailArchiv bei Anzeige oder Download der Mail aus dieser entfernt.

konfigurationsbeispiele/anbindung_provisioning.1510655014.txt.gz · Zuletzt geändert: 2017/11/14 10:23 von lwsystems