DBMail
DBMail — проект мира открытого ПО, обеспечивающий возможность хранения электронной почты в реляционной базе данных, а также работу пользователей со своей корреспонденцией посредством протоколов IMAP и POP3.
DBMail | |
---|---|
Тип | POP3, IMAP, SMTP, LMTP |
Разработчик | NFG Net Facilities Group и сообщество |
Написана на | C, Autoconf |
Операционная система | Кроссплатформенное программное обеспечение |
Последняя версия | 3.2.3 (25 января 2015) |
Лицензия | GNU General Public License |
Сайт | dbmail.org |
Описание комплекса
Состав комплекса
- dbmail-smtp — программа, обеспечивающая захват почтового сообщения, передаваемого от MTA, посредством локального pipe-подключения
- dbmail-lmtpd — демон, организующий приём сообщений от MTA посредством протокола LMTP
- dbmail-imapd — демон, организующий возможность работы пользователей со своей почтой посредством протокола IMAP
- dbmail-pop3d — демон, организующий возможность работы пользователей со своей почтой посредством протокола POP3
Как работает
- Приём электронной корреспонденции осуществляется MTA. На этом этапе может происходить так же фильтрация на предмет спама и вирусов, маршрутизация сообщений.
- MTA передаёт полученные сообщения DBMail, посредством локального pipe-подключения или протокола LMTP. Происходит размещение сообщений в базе данных.
- Работа пользователей с почтой, находящейся в базе данных, организуется полностью средствами DBMail, реализующими доступ по протоколам IMAP и POP3.
Работа с базой данных
Главным отличием данного проекта является использование реляционной базы данных для хранения сведений о почте, включая всё содержимое почтовых сообщений, а также учётных записей пользователей и их параметров. Так же возможно использование LDAP в роли стороннего хранилища для учётных записей пользователей. DBMail работает только с базой данных, не совершая операций с файловой системой сервера напрямую, что, теоретически, должно положительно сказываться на безопасности всей системы в целом.
В настоящее время поддерживаются следующие реляционные базы данных:
Работа с LDAP
В качестве хранилища информации о учётных записях пользователей, а также всех настройках почтовых ящиков пользователей, возможно использовать LDAP. Возможна работа с Active Directory[4].
Работа с MTA
В настоящий момент поддерживается работа со следующими MTA:
Реализация Sieve
DBMail может использовать язык описания правил фильтрации для почтовых сообщений, реализация которого заимствована из Cyrus IMAP. Это даёт пользователям возможность настроить собственные правила для сортировки почты по каталогам IMAP.
Преимущества
Масштабируемость
Масштабируемость хранилища ограниченна только возможностями используемой реляционной базы данных. Количество же серверов, обслуживающих пользовательские подключения по протоколам POP3 и IMAP, а также демоны приёма почты от MTA, тоже ограничены лишь лимитом на одновременные подключения к базе данных.
Резервное копирование и репликация
Полностью организуется развитыми возможностями современных баз данных.
Безопасность
Комплекс не производит операций по доступу к файловой системе сервера напрямую, что положительно влияет на безопасность всей системы в целом.
Скорость
Работа с почтовыми сообщениями пользователей осуществляется в реляционной базе данных, изначально предназначенной для выполнения подобных задач по хранению и обработке данных.
Удобство администрирования
Комплекс имеет набор консольных утилит, обеспечивающий полный контроль над работой системы. Кроме того, благодаря тому, что сообщения, структура каталогов пользователей, а также сами учётные записи, хранятся в базе данных, возможно использование самописных скриптов для автоматизации процесса администрирования комплекса. Также существуют сторонние инструменты управления комплексом, созданные сообществом. Возможна интеграция с внешними хранилищами данных о пользователях, таких как LDAP и Active Directory[4].
Недостатки
Теоретически, главным недостатком комплекса является главное же его достоинство — использование реляционной базы данных, а именно − специфика работы последней. Что может проявляться в некоторой потере производительности при совершении ряда операций, например при одновременном размещении большого количества сообщений в базе данных[5]. Кроме того, использование базы данных может потребовать дополнительных навыков и знаний по администрированию реляционных баз данных.
История
Первая версия[6] комплекса была выпущена 3 декабря 2002 г. В тот момент развитием проекта занималась IC&S[7]. В данный момент развитием занимается NFG и сообщество.
Сторонние средства администрирования
В данный момент существуют как минимум две полноценных реализации веб-интерфейса для управления DBMail. Самый, пожалуй, развитый из них, — DBMail Administrator[8], может обеспечивать полный контроль, вплоть до управления MTA (требует предварительной подготовки самого MTA). Но есть и ряд недостатков: относительная «тяжесть» скриптов, авторизация администратора только средствами веб-сервера. Второй же проект — DBMail Admin[9], обладает, на данный момент, более скромными возможностями, но полностью способен заменить консольные утилиты администрирования, используя, при этом, для аутентификации администратора, встроенные учётные записи почты DBMail, что больше подходит концепции централизованного управления комплексом. Список рекомендуемых сторонних средств администрирования публикуется в официальной базе знаний[10] проекта DBMail.
Примечания
- DBMail + Postfix + PostgreSQL OpenNET
- DBmail + Exim + MySQL Архивировано 21 декабря 2010 года. Linuxforum
- DBMail + Exim + SQLite (недоступная ссылка)
- Интеграция DBMail в Active Directory OpenNET
- dbmail benchmarking
- Анонс выхода DBMail 1.0
- IC&S (недоступная ссылка). Дата обращения: 23 января 2011. Архивировано 20 января 2011 года.
- DBMail Administrator
- DBMail Admin (недоступная ссылка). Дата обращения: 23 января 2011. Архивировано 22 октября 2011 года.
- Официальное WIKI проекта