Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Прочие возможности DBMail

К числу прочих возможностей почтового сервера, часто востребованных администраторами, относятся:

n  Квоты на размер почтового ящика – поддерживаются в DBMail непосредственно: максимальный размер ящика можно указать как при вызове утилиты dbmail-users ключом -m, так и изменив значение поля maxmail_size в таблице dbmail_users.

n  SMTP-авторизация – вообще-то это задача MTA, но поскольку в DBMail уже хранится соответствие имен пользователей и их паролей, есть смысл настроить SASL на использование этой информации.

n  POP/IMAP before SMTP – это альтернатива SMTP-авторизации, которая опирается на использование таблицы dbmail_pbsp и должна быть включена в /etc/dbmail.conf параметрами pop_before-smtp/imap_before_smtp.

n  SSL/TLS – DBMail не поддерживает этот механизм непосредственно, но есть возможность организовать прозрачный с точки зрения клиентов SSL-доступ с помощью внешнего ПО, например, stunnel – работа с этим инструментом подробно рассматривалась в цикле статей Андрея Бешкова.

n  Фильтрация почтовых сообщений на основании их содержимого – эту задачу и способы ее решения мы обсудим позже.

Кроме того, DBMail не обошелся без GUI-конфигуратора DbMail Administrator (DBMA), написанного на Perl и ориентированного на веб. Он доступен на http://library.mobrien.com/dbmailadministrator и выглядит так (см. рис. 3).

Рисунок 3. DbMail Administrator

Есть еще один веб-интерфейс к DBMail – swiftMail (http://www.obfuscatedcode.com/swiftmail/trac), написанный на PHP. Его можно было бы отнести к классу webmail-приложений, если бы не одна особенность: для чтения почты используется не POP3/IMAP, а прямой доступ к БД DBMail. В настоящее время доступна альфа-версия swiftMail, поддерживающая только MySQL. Поддержка PostgreSQL обещается в ближайшем будущем.

Фильтрация почтовых сообщений средствами DBMail

Общеизвестным преимуществом IMAP является то, что почтовый пользователь может работать со своей и общей корреспонденцией с разных рабочих мест с помощью совершенно различных MUA: как традиционных, так и ориентированных на веб. Это означает, что правила, в соответствии с которыми сообщения распределяются по каталогам IMAP, должны определяться не на уровне MUA, а на уровне MDA.

В настоящее время в DBMail отсутствуют штатные способы решения этой задачи. В будущих версиях планируется использование специализированного языка программирования для фильтрации почтовых сообщений Sieve (описан в RFC 3028, активно используется в Cyrus IMAP), код поддержки Sieve даже есть в текущей стабильной версии, но он не завершен и недостаточно протестирован, поэтому при компиляции по умолчанию поддержка Sieve отключена. Кроме того, для большинства случаев Sieve является слишком мощным инструментом.

Сформулируем, что нам требуется от простейшего механизма фильтрации почтовых сообщений:

n  Каждый пользователь может задать собственный список фильтров и назначить их приоритеты.

n  Фильтр представляет из себя соответствие названия заголовка письма и его значения IMAP-каталогу, в который должно попасть письмо.

n  Письмо попадает в каталог, если значение заголовка в письме содержит в себе значение заголовка в фильтре.

 

А теперь перечислим те способы решения задачи, которые пришли мне в голову:

n  Использование традиционных MDA (procmail, maildrop) и dbmail-smtp.

n  Использование фильтров MTA и патча для поддержки RFC 3589 (Sieve Email Filtering – Subaddress Extension: user+folder@server) в dbmail-lmtpd. Патч можно взять здесь – http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000057.

n  Использование средств СУБД (триггеров) для модификации записей, соответствующих сообщению, в БД.

n  Написание собственного патча.

Сравним их (см. таблицу 1). После недолгих раздумий выбор был сделан в пользу последнего варианта. Самым трудным оказалось не реализовать нужную функциональность, а найти место в коде, куда ее необходимо вставить, не нарушив при этом работоспособности всего остального. Решение задачи сильно упростило то, что в DBMail хорошо организовано ведение логов. Для каждого демона в конфигурационном файле можно задать уровень отладки (параметр trace_level), определяющий степень детализации выводимых отладочных сообщений.

Таблица 1. Способы фильтрации почтовых сообщений средствами DBMail


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100