Склад поштового сервера FossMail
Перелік задач
- Агент передачі файлів (АПФ) – прийом–передача повідомлень по каналах зв’язку;
- Mserver – реєстрація повідомлень, які пройшли через поштовий сервер в робочій базі конвертів і перенесення інформації з робочих баз конвертів в архівні;
- Router – маршрутизація повідомлень, тобто розбір вхідної черги і перекладка повідомлень у відповідні папки (поштові скриньки), для подальшої передачі;
- Fmqueue – програма призначена для побудови черг повідомлень залежно від пріоритетів поштових скриньок і пріоритетів повідомлень;
- FMRP – дана задача є додатковою ланкою в обробці і фільтрації повідомлень – призначена для розсилки адресних книг, перевіряє правомочність доставки повідомлень від / до абонентів приписаним на даному вузлі;
- Exmon – програма призначена для забезпечення інтерфейсу між кожної з задач і програмою адміністрування поштового сервера;
- Fmstat – програма призначена для перегляду робочих і архівних баз даних, розпакування повідомлень з архівів і файлів з повідомлень;
- Fmarc – програма призначена для архівації повідомлень, що проходять через вузол, в ZIP–файли для подальшого їх зберігання;
- Cfg_Client – програма адміністратора поштового сервера.
Перелік основних папок
- Папка “Queue” – вхідна черга повідомлень поштового сервера;
- Папка “Box”– вихідна черга повідомлень поштового сервера. У цій папці створюються підпапки, імена яких збігаються з іменами користувачів сервера або з іменами поштових серверів, з якими зв’язується даний сервер (поштові скриньки);
- Папка “Be”– в дану папку поміщаються повідомлення, призначені для подальшої архівації;
- Папка “Arc”– в дану папку складаються заархівовані повідомлення у вигляді *.zip-файлів;
- Папка “Client”– призначена для зберігання адресних книг всіх поштових серверів мережі (файли*.fab).
Алгоритм роботи
Для кращого розуміння призначення кожної з задач розглянемо алгоритм роботи поштового сервера, структура якого представлена на малюнку нижче.
Повідомлення через “Агент передачі файлів TcpFoss” (АПФ) надходять від іншого поштового сервера або від автоматизованого робочого місця в папку вхідної черги Queue, у вигляді файлу. АПФ через оперативну пам’ять повідомляє про це маршрутизатору повідомлень (Router), який маршрутизує повідомлення в залежності від адреси (ів) його одержувачів і поміщає це (ці) повідомлення в витікаючу чергу Box.
Вихідна черга побудована за наступним принципом. Папка Box має N підпапок, ім’я кожної з яких збігається з ім’ям поштового сервера, підключеного до даного сервера, або з ім’ям користувача, що обслуговується цим сервером. Повідомлення можуть распараллеліватись залежно від того, куди вони прямують, тобто одночасно можуть потрапляти в кілька підпапок.
У момент обробки повідомлення маршрутизатором він повідомляє про параметри цього повідомлення сервера реєстрації повідомлень (Mserver) і менеджеру черг (Fmqueue). Mserver проводить запис про конверт цього повідомлення в робочу базу поштових конвертів, а Fmqueue вибудовує витікаючу чергу, залежно від пріоритету повідомлень.
Залежно від параметрів напрямку, на яке потрібно передати повідомлення з вихідної черги, менеджер черги ініціює установку каналу зв’язку АПФ–му чи очікує повідомлення від АПФ, що встановлений канал зв’язку з ініціативи сусіднього поштового сервера або автоматизованого робочого місця. Після установки каналу зв’язку повідомлення згідно з їх пріоритетом передаються АПФ-му і видаляються з вихідної черги.
Паралельно, в момент маршрутизації копія повідомлення поміщається в папку Be, для подальшої його архівації завданням Fmarc. Дана програма архівує повідомлення, що знаходяться в цій папці за заданим розкладом. У результаті її роботи створюються мінімум один, максимум 24 * .zip- файла на добу, в які поміщаються повідомлення. Кількість створених * .zip файлів задається в налаштуваннях. Повідомлення, що проходять через поштовий сервер, поміщаються в архіви з іменами – YYMMDDHH-HH.zip В даний архів потрапляють файли зі значенням часу від HH до -HH у годинах. Детальніше.
Задача Mserver реєструє в базі конвертів не тільки інформацію про сам конверт, а й інформацію про його доставку та прочитання. Т.к. звіти про доставку та прочитання приходять через деякий час після проходження самого повідомлення, то дані про конверти повідомлення зберігаються певний час, який зазвичай достатньо для запису інформації про звіти. Для запобігання переповнення робочої бази конвертів інформація з неї переноситься, за заданим розкладом, в архівну базу конвертів. Детальніше.
Задача Fmstat дозволяє проводити пошук і переглядати записи про повідомлення в робочій і архівної базах конвертів. Якщо потрібний конверт знайдений, то є можливість отримати саме повідомлення, розпакувавши його або з * .zip- файлу, або, якщо воно ще не запаковано, то з папки Be. Детальніше.
Задача Fmrp служить для створення різноманітних фільтрів на повідомлення, які проходять через поштовий сервер , також вона формує запити на отримання адресних книг і обробляє прийшлі відповіді, поміщаючи список адресних книг (файли * .fab) в папку Client. Далі цей список обробляється сервером додатків FossDocMail, який будує глобальну адресну книгу.
Задача Exmon управляє всіма задачами вузла і забезпечує єдиний інтерфейс між ними і задачей Cfg_Client, яка є програмою адміністрування поштового серверу FossMail