Windows 7 установить почтовый сервер. Обзор бесплатных почтовых серверов под Windows. Описание настроек почтового сервера hMailServer

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

iRedMail

Название: iRedMail

Лицензия: GNU GPL

Платформа: *nix

Почтовые серверы на *nix подкупают своей открытостью, производительностью и защищенностью, но для новичка развертывание с нуля и последующее сопровождение может превратиться в настоящий кошмар. Проект iRedMail ставит своей целью решить эту проблему. По сути, данная разработка представляет собой набор скриптов и готовых конфигов, упрощающих процесс развертывания и первоначальной настройки почтового сервера на базе Postfix/Dovecot с поддержкой протоколов SMTP, POP3 и IMAP. После запуска скрипт сам скачает и установит нужные пакеты, создаст первый виртуальный домен (задав минимум вопросов) с администратором и пользователем. Сам процесс развертывания занимает минут десять, после чего уже можно будет отправлять и получать почту. Читать документацию и копаться в настройках не придется, не потребуется и специфических знаний *nix. Учетные записи можно сохранять в OpenLDAP или MySQL, это выбирается на этапе установки. Далее можно создавать любое количество доменов, почтовых ящиков и алиасов, то есть ограничений никаких нет. Для защиты почты от вирусов и спама будут автоматически установлены SpamAssassin и ClamAV, а также инструменты, обеспечивающие поддержку технологий SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), HPR (HELO Randomization Prevention), Spamtrap и белые, черные, серые списки. Для блокировки попыток перебора пароля ставится iptables Fail2ban. Проект предлагает свою разработку iRedAPD (Access Policy Delegation), позволяющую управлять политиками Postfix, делегируя полномочия между пользователями. Управление производится при помощи веб-интерфейса Roundcube WebMail, параллельно будут установлены средства управления сервисами phpLDAPadmin, PostfixAdmin, phpMyAdmin и анализатор логов AWStats для просмотра статистики. Доступен также локализованный интерфейс администратора собственной разработки - iRedAdmin, в двух версиях: бесплатной Open Source и коммерческой iRedAdmin-Pro. Первая позволяет управлять только учетными записями и доменами, вторая решает все вопросы по администрированию почтовой системы. Все компоненты ставятся на один «чистый» сервер; если уже есть работающий MySQL, к нему можно подключиться, только если выполнить необходимые настройки вручную (требует некоторого опыта).

Поддерживается установка на i386/x86_64 версии Red Hat Enterprise Linux, CentOS, Gentoo Linux, Debian, Ubuntu, openSUSE и Open/FreeBSD. На сайте проекта доступно несколько руководств, помогающих быстро сориентироваться.

IndiMail

Название: IndiMail

Лицензия: GNU GPL

Платформа: *nix

Платформа обмена сообщениями по протоколам SMTP, IMAP, POP3, поддерживающая QMQP, QMTP, DKIM и BATV (Bounce Address Tag Validation) и проверку почты на спам и вирусы. Базируется на нескольких Open Source решениях: Qmail, Courier IMAP/POP3, serialmail (доставка почты через коммутируемые соединения), qmailanalog (списки рассылки), dotforward, fastforward, mess822, daemontools, ucspi-tcp, Bogofilter, Fetchmail и других. Предоставляет набор инструментов для управления виртуальными доменами и учетными записями пользователей собственной разработки. Обеспечивает маршрутизацию для SMTP, IMAP и POP3, что позволяет разместить почтовый домен на нескольких серверах с обменом данными между ними или как прокси. Это очень удобно, если организация состоит из нескольких удаленных офисов. Используя утилиту hostcntrl, можно добавить на обслуживание отдельные адреса из других доменов. Это позволяет использовать IndiMail в гетерогенной среде без необходимости поднятия нескольких доменов или при переходе от проприетарного решения. Несколько серверов с синхронизацией данных позволяют легко наращивать структуру. Чтобы обеспечить лучшую масштабируемость и производительность, некоторые компоненты были изменены (в частности, Qmail). В IndiMail используется несколько так называемых коллекций (queue collection), каждая из которых выполняет свой процесс qmail-send/qmail-todo и может хранить данные на отдельном харде. Такая архитектура позволяет обрабатывать запросы быстрее, чем оригинальный Qmail.

Разработчики дают полную свободу в настройках, практически все параметры можно переопределить через переменные (а их всего около 200). Например, переменная CONTROLDIR указывает на каталог с конфигурационными файлами, QUEUEDIR - каталог с очередями. То есть можно запустить несколько копий IndiMail на одном сервере со своими настройками для каждой очереди, отправителя, получателя и узла. Но разбираться во всех переменных необязательно: чтобы запустить IndiMail, понадобится всего несколько правок. Новички могут управлять установками при помощи меню FLASH (построено на Ncurses). Для хранения данных о виртуальных пользователях используется MySQL, адресные книги могут храниться в OpenLDAP. Последние релизы полностью совместимы с systemd. Много внимания разработчики уделяют безопасности как самого сервера, так и сервисов - минимальное использование SETUID, четкое разделение между программами/адресами/файлами, пятиуровневый trust partitioning, автоматическое распознавание локальных IP, access-list, tcprules, фильтр контента, TLS/SSL и многое другое.

Установить IndiMail можно на любой 32/64 *nix платформе. Для загрузки доступны исходные тексты, пакеты и репозитории для некоторых популярных дистрибутивов Linux (RHEL/CentOS 5/6, Fedora, openSUSE/SLE, Mandriva, Debian и Ubuntu). Для управления сервером предлагается около 45 программ различного назначения (большинство расположено в /var/indimail/bin), учетные записи можно также настраивать при помощи веб-интерфейса iWebAdmin (построен на QmailAdmin), который необходимо устанавливать отдельно.

Rumble

Название: Rumble

Лицензия: GNU GPL

Платформа: *nix, Win


Почтовый сервер, поддерживающий SMTP (ESMTPSA), POP3 и IMAP. Очень прост в управлении, для администрирования используется веб-интерфейс. Вполне подходит для небольших организаций с несколькими доменами. Написан на C/C++, для сценариев предлагается свой API (Lua и C/C++). Архитектура позволяет наращивать производительность сервера за счет кластеризации серверов для одного или всех доменов. Поддерживает SSL/TLS, SQLite и MySQL, аутентификацию (MD5/PLAIN/STARTTLS), для защиты от спама включены модули white/grey/blacklist, SpamAssassin, технологии BATV и VERP (Variable Envelope Return Path). В настройках предусмотрена возможность ограничить максимальный размер сообщения.

На сайте доступны исходные коды и x86/x64-бинарники для установки на Linux (Generic, Ubuntu, Debian). Чтобы запустить сервер, нужно распаковать архив и выполнить скрипт, все остальное программа сделает сама. Для удобства исходные тексты и конфигурационные файлы можно распределить по соответствующим каталогам и обеспечить автозагрузку при старте ОС. Параметры сервера и модули подключаются в файле rumble.conf. Для возможности регистрации через веб-интерфейс (порт 2580) следует удалить автоматически созданный файл modules/rumblelua/auth.cfg (в нем содержится пароль админа), после этого открываем веб-браузер и указываем новый пароль. Теперь можно управлять доменами, учетными записями и почтовыми ящиками, настройками сервера, просматривать логи и статистику.

По умолчанию в качестве базы данных используется SQLite, если его возможностей не хватает или в организации уже есть работающий MySQL, то можно легко переключить сервер для работы с этой СУБД.

Для администрирования сервера используется три уровня - администратор сервера, администратор домена и пользователь. Интерфейс администратора сервера позволяет лишь создавать и удалять домены, плюс доступен ряд специфических настроек. Создав домен, в меню RumbleLua User нужно добавить новый аккаунт и указать в его настройках этот домен. Это и будет администратор домена, который после регистрации в системе получает возможность создавать почтовые ящики, алиасы, привязывать адрес к модулю, задавать программу, которая будет запущена при получении письма на определенный адрес, и настраивать релей. Интерфейс не локализован, хотя все очень просто и понятно.

Zentyal - почтовик из коробки

Новичкам, которых пугает само слово Linux и необходимость ввода команд в терминале, нужно простое решение, позволяющее быстро и без чтения документации развернуть почтовый сервис. Как вариант здесь можно посоветовать Zentyal - специализированный дистрибутив, построенный на базе Ubuntu Server (последний релиз основан на Ubuntu 12.04 LTS) и позволяющий выполнить все необходимые установки и настройки при помощи графического интерфейса. Zentyal - дистрибутив широкого назначения, который может использоваться и как роутер с функциями UTM, офисный сервер или сервер сообщений. Все необходимые функции реализуются при помощи устанавливаемых модулей/пакетов. В настоящее время доступно более тридцати модулей из пяти категорий, которые добавляются одним щелчком. Zentyal может устанавливаться в качестве самостоятельного сервера, используя свою базу пользователей, или работать в связке master/slave с возможностью репликации между несколькими серверами и синхронизации учетных данных с LDAP/AD.

Axigen

Название: Axigen

Лицензия: GNU GPL

Платформа: Linux, FreeBSD, Solaris, Windows


Многофункциональный, быстрый, защищенный почтовый сервер (SMTP/POP3/IMAP) с функциями совместной работы, календарем, списком задач и заметками, разрабатываемый румынской компанией Gecad Technologies. Работать с сообщениями пользователи могут через почтовый клиент или при помощи локализованного (и очень даже симпатичного) веб-интерфейса, построенного с применением технологии Ajax, - его можно полностью подогнать под себя. Поддерживаются горячие клавиши, что еще больше усиливает ощущение работы с обычным настольным приложением. В настройках доступны: сбор почты с внешних ящиков, автоответчик, фильтр почты, установка псевдонимов и другое. Пользователь также может экспортировать/импортировать контакты в файл формата CSV для переноса в другие приложения. Кроме стандартного, предлагается и упрощенный для мобильных устройств интерфейс, поддержка ActiveSync для синхронизации сообщений, контактов и календаря. В качестве дополнения устанавливается расширение для работы с общими папками.

Администрирование выполняется при помощи командной строки или через веб-модуль (работает на 9000-м порту), понятный даже новичку. При этом тонко делегируются другим пользователям определенные права по настройкам.

Возможна интеграция с LDAP-сервером (в документации описан OpenLDAP и eDirectory) или Active Directory, для этого следует установить специальные схемы расширения. Реализованы модули резервирования и восстановления информации, списки рассылки, поддержка кластера и балансировки нагрузки, MAPI-интерфейс, РOP3- и IMAP-прокси. Сервер может обслуживать несколько доменов с различными настройками. В документации описано, как интегрировать IM-сервис, построенный на основе Jabber/XMPP. Кроме этого, Axigen имеет развитую систему отчетов с выводом всевозможных графиков, всего подготовлено около ста шаблонов. Для защиты информации может использоваться TLS/SSL, поддерживаются все популярные механизмы аутентификации: plain, login, cram-md5, digest-md5 и так далее. Возможна интеграция с пятнадцатью решениями для борьбы с вирусами (Kaspersky, DrWeb, Symantec, ClamAV и другие) и спамом (включая SpamAssassin). Поддерживаются технологии SPF, DKIM, черный/серый/белый списки и фильтрация по IP / стране отправителя. Все это подключается буквально одним щелчком мышки из интерфейса администратора. Возможен обмен данными между Axigen и MS Outlook, для этого необходимо установить коннектор.

Большим плюсом Axigen является возможность работы сервера на нескольких ОС. На странице закачки доступны пакеты для Debian, Red Hat Enterprise Linux и CentOS 5/6, SUSE Linux Enterprise 10/11, Fedora 12 и 13, OpenSUSE 11.2 и 11.3, FreeBSD 7.x/8.x, Solaris 10 x86/SPARC и Win2k3/2k8 (x86/x64). Также подготовлены Virtuozzo - контейнеры для быстрого развертывания в виртуальных средах. Установка очень проста и производится при помощи GUI-интерфейса, в котором предстоит выбрать сервисы, задать порты и указать сетевые интерфейсы для подключений пользователей и админов. При должной сноровке весь процесс займет не более 10–15 минут. На сайте проекта можно найти подробную документацию и несколько видеороликов, в которых показан процесс установки и администрирования. Кроме этого, доступны демоинтерфейсы пользователя и администратора. Версия Axigen Free Mail Server (Office Edition) предоставляется бесплатно и позволяет обслуживать до ста учетных записей e-mail и пять календарей.

CommuniGate Pro

Название: CommuniGate Pro

Лицензия: Free/платная

Платформа: *nix, Windows, Mac OS X


Популярная платформа для обмена электронной почтой, IM, VoIP, с функциями календаря и автоматизацией совместной работы. Например, VoIP обеспечивает передачу голоса/видео и обеспечивает такие возможности, как конференции, автосекретарь (IVR), автоматическое распределение звонков, управление очередями вызовов, голосовая почта. При этом CommuniGate поддерживает установку на большое количество ОС и архитектур (всего около тридцати), IPv4 и IPv6, стандартные протоколы SMTP, SIP, IMAP, XMPP, LDAP, RADIUS, XIMSS, CalDAV, WebDAV, MAPI и другие. Пограничный контроллер сессий (Session Border Controller) обеспечивает корректную работу через NAT-устройства. Входящий в состав CGP LDAP-сервер может использоваться и другими приложениями. Возможна синхронизация данных с BlackBerry при помощи AirSync (лицензия на каждое устройство приобретается отдельно). Менеджер рассылок позволяет автоматизировать рассылку новостей с возможностью самостоятельной подписки пользователем. Рассылка создается администратором, в дальнейшем управляется одним из пользователей сервера.

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

Настройки позволяют пользователю открыть доступ к своему ящику или отдельным папкам другим пользователям сервера. Это полезно, когда в организации должна быть заведена служебная учетная запись для связи с клиентами, которую используют несколько человек.

Один сервер может обслуживать несколько доменов. Узлы кластера способны обрабатывать только определенный вид трафика (например, по региону), для распределения запросов используется технология SIP Farm. Решение легко масштабируется до любых размеров. К слову, на CommuniGate Pro построена сеть IP-телефонии оператора SIPNET.

Возможна аутентификация пользователя при помощи внутренней БД, Active Directory или внешней программы, в том числе поддерживаются сертификаты клиента. В настройках можно указать IP-адреса, с которых разрешено или запрещено подключение клиентов. Вся информация, хранящаяся на сервере и передаваемая между клиентом и сервером, может быть зашифрована с помощью технологий SSL, TLS, S/MIME и других.

Открытые API упрощают интеграцию с системами биллинга и управления. Поддержка плагинов позволяет подключать решения сторонних производителей для фильтрации спама и вирусов. В настоящее время поддерживается интеграция с решениями от Касперского, Sophos, McAfee, MailShell, Cloudmark.

Реализованы и стандартные средства защиты - проверка обратного адреса отправителя, поддержка DNSBL (RBL), запрет приема почты с определенных IP-адресов и сетей, проверка определенной строки в заголовке или теле письма. Установка в любой ОС несложна, по сути, нужно лишь распаковать архив и запустить сервер. Все настройки сервера, доменов и учетных записей производятся при помощи веб-интерфейса (работает на 8010-м порту, после запуска нужно подключиться к нему в течение десяти минут и задать пароль администратора). Система прав позволяет делегировать администрирование домена другим пользователям, указав только те функции, которые им действительно необходимы.

В настоящее время доступно несколько версий сервера, отличающихся лицензиями. Бесплатно предлагается Community Edition, в которой активно пять аккаунтов, за плату предлагаются Corporate Edition и Service Provider с дополнительными функциями.

WARNING

После первого запуска CommuniGate Pro необходимо в течение десяти минут подключиться к порту 8010 и задать пароль администратора.

Заключение

Развернуть почтовый сервер при помощи описанных решений не так уж и сложно, в зависимости от опыта админа и количества настроек на запуск уйдет от силы полчаса. На каком конкретно решении остановиться, выбирать тебе. Для организации среднего размера отлично подойдут iRedMail, Axigen и Rumble; в том случае, когда компания состоит из нескольких территориально удаленных офисов, следует присмотреться к Axigen, IndiMail и CommuniGate Pro. Последний к тому же обеспечивает VoIP.

Если у вас небольшой офис и для вас слишком дорого покупать Exchange и у вас нету *nix — тогда этот обзор для вас.

1) hMailServer

Достаточно простой и удобный сервер. Имеет в составе IMAP/POP3/SMTP сервера. Есть встроенная система защиты от спама. Для любителей смотреть почту через Web — нужно отдельно прикручивать Web -морду.

2) Mail Enable

Замечу, что существуют платные и бесплатные версии данного продукта. Имеет в составе POP3/SMTP , но не имеет IMAP сервера. Зато есть встроенный Web интерфейс (который мне так и не удалось заставить работать на IIS7 )

3) XMail

Достаточно простой и функциональный почтовый сервер (POP3/ESMTP , но нет IMAP ) с поддержкой нескольких типов авторизации (PLAIN LOGIN CRAM-MD5 POP3-перед-SMTP и пользовательская)

4) Office Mail Server

Официальный сайт отсутствует, так как проект не развивается. Но скачать можно отсюда http://www.box.com/oms

Простой, компактный, но полнофункциональный почтовый сервер для локальной сети с dial-up подключением к интернет. Работает под Windows 95-98-NT-ME-2000 . Может работать как NT сервис. Мощный сортировщик позволяет обеспечить каждого пользователя в локальной сети личным адресом электронной почты. В программе объединены POP3 и SMTP серверы, POP3 и SMTP клиенты, сортировщик, планировщик сеансов связи, «звонилка» и оболочка для настройки сервера через систему меню и диалогов.

5) shicks!

Простой POP3/SMTP сервер, написанный на python’e

6) Courier Mail Server

Практически аналогичный Courier Mail Server 1.56 (полностью бесплатный) — правда, есть мелкие недостатки. Например, глюк с отображением интерфейса при работе с сервером через терминальную сессию. Впрочем, на работе почты это не сказывается. Его же переработанная версия 2.хх — www.courierms.ru К сожалению, платная. Бесплатно в ней работает только до 3-х почтовых ящиков.

7) UserGate Mail Server

UserGate Mail Server – это решение для организации безопасного почтового сообщения в компании со встроенными модулями антиспам и антивирусной защиты. Продукт обладает модульной структурой, что повышает отказоустойчивость и дает возможность запуска сервера на распределенной системе.
В числе основных функций UserGate Mail Server - управление доменами и пользователями, веб-клиент, поддержка списков рассылки, работа удаленными учетными записями, поддержка LDAP , а также гибкая и мощная система правил. UserGate Mail Server способен обрабатывать более 2000 писем в минуту.
Для обеспечения доступа к почте в UserGate Mail Server реализована поддержка протоколов SSL, POP3s, SMTPs и IMAPs . Безопасность почтового сообщения теперь может обеспечиваться сразу тремя антивирусными модулями: Kaspersky Antivirus, Panda Antivirus и Entensys Zero-Hour , основанный на «облачных» технологиях.
В обработке входящих сообщений в UserGate Mail Server фильтрация выполняется в несколько этапов — по соединениям, по адресу источника, по адресу назначения и по содержанию. UserGate Mail Server поддерживает следующие методы фильтрации спама:
на основе DNS (DNSBL, RHSBL, Backscatter, MX, SPF, SURBL) ;
на основе распределенной антиспам системы («облачный» антиспам);
на основе статистики (собственная реализация фильтрации Байеса).
Кроме этого UserGate Mail Server поддерживает контроль SMTP протокола (контроль правильности команд в соответствии с RFC ), ограничивает максимальный размер письма, максимальное количество получателей и т.п.
«Облачный» антиспам в почтовом сервере отфильтровывает письма, основываясь на анализе их содержания и эвристике.
В UserGate Mail Server реализована интеграция с IMAP – сервером MS Exchange или Lotus Domino . Интеграция предоставляет возможность создания общей папки IMAP на удаленном почтовом сервере и обработку сообщений в этих папках.
UserGate Mail Server предоставляет информацию обо всех сообщениях, обработанных почтовым сервером. Мониторинг сообщений позволяет выполнять фильтрацию по дате, по статусу обработки (доставлено/заблокировано), по адресу источника или назначения, выполнять принудительную отправку сообщений, заблокированных как спам, а также создавать списки исключений.
Бесплатная лицензия на 5 почтовых ящиков
Для получения возможности бесплатного использования UserGate Mail Server на 5 почтовых ящиков необходимо:
Скачать дистрибутив; В окне регистрации UserGate Mail Server выбрать «Получить бесплатную версию на 5 ящиков».
В состав бесплатной лицензии почтового сервера не входят дополнительные модули.
UserGate Mail Server поддерживает резервное копирование почтовых сообщений, посылку автоматических ответов, настройку правил по обработке почты, управление сервисами в веб-консоли и выбор произвольного диапазона дат в истории сообщений.

8) Rumble Mail Server

Rumble – миниатюрный почтовый сервер для личного использования. Приложение может запускаться только из интерфейса командной строки вашей системы.

Особенности программы «Rumble»:
1. Поддержка SMTP, POP3 и IMAP
2. Работа с Apache
3. Простота в использовании
4. Rumble бесплатна!

9) Humster

Hamster — это бесплатное серверное приложение под Windows, которое позволяет в локальной сети полноценно работать с usenet news по протоколу NNTP и почтой по протоколам SMTP, POP3, IMAP. Его особенностью является продвинутые возможности по обработке сообщений. Оно может самостоятельно собирать почту с ящиков в интернет (аналогично функционированию программы fetchmail в *nix), отправлять в локальный ящик, предварительно обработав (аналогично функционированию программы procmail в *nix), раздавать по POP3, отправлять по SMTP и NNTP. Имеется настройка прав доступа к ресурсам сервера для пользователей. Богатый язык макросов. Поддерживается SSL.

10) Axigen

Почтовый сервер Axigen это коммуникационный сервер большого класса, интегрирующий сервисы SMTP, POP3, IMAP и WebMail. Имея очень хорошую настройку и безопасность, дает администраторам отличный контроль над трафиком почтового сервера.

Многие системные администраторы испытывают определенные трудности при работе с системами электронной почты. Это неудивительно, почтовый сервер имеет гораздо более сложную структуру, чем файловый сервер, роутер или сервер терминалов. В этой статье мы рассмотрим структуру и принцип работы почтовых серверов, без понимания которых настройка системы электронной почты вполне способна превратиться в шаманские танцы с бубном.

Данный материал содержит довольно много упрощений и обобщений, с целью дать системным администраторам необходимый минимум знаний. На наш взгляд, ради администрирования одного-двух почтовых серверов начального уровня становиться специалистом в области электронной почты совсем не обязательно.

Для большинства пользователей и начинающих администраторов почтовый сервер представляет собой некий "черный ящик", который получив письмо "неведомыми" путями доставляет его адресату и наоборот. Все взаимодействие с таким сервером заключается в обращении почтового клиента к определенным портам, а то и вообще через веб-интерфейс. Однако внутри скрыт целый механизм, понимание работы которого имеет ключевое значение для успешной настройки и обслуживания системы электронной почты. Это особенно важно для администрирования серверов на платформе Linux. В отличии от Windows, где почтовый сервер представляет собой законченное программное решение и о внутреннем взаимодействии уже позаботились разработчики, в Linux компоненты почтового сервера представляют собой отдельные программы и настраивать их взаимодействие нужно самостоятельно.

Рассмотрим структуру почтового сервера, а также что происходит когда пользователь пытается отправить почту.

Важнейшей часть почтового сервера является MTA (Mail Transfer Agent -- агент пересылки почты) в задачи которого входит прием и передача почты. Очень часто (в Linux / UNIX) МТА называют также почтовым сервером. MTA работает по протоколу SMTP, и его одного, в принципе, уже достаточно для создания системы электронной почты. Когда-то давно именно так и было и для доступа к своему почтовому ящику требовалось обладать определенными техническими знаниями.

Однако прогресс не стоит на месте, MTA, получая письмо, помещает его в почтовый ящик пользователя на сервере, к которому последний должен получить доступ, желательно наиболее простым и понятным способом. Вот здесь на сцену выходит MDA (Mail Delivery Agent -- агент доставки почты), его задача по запросу почтового клиента передать ему почту из почтового ящика на сервере. MDA может работать по протоколам POP3 или IMAP, в ряде случаев для "общения" почтового клиента и агента доставки могут применяться собственные протоколы, обладающие расширенной функциональностью, например MAPI (Exchange Server).

Вопреки распространенному заблуждению, MDA не имеет никакого отношения к процессу передачи почты. Это прерогатива MTA. Если провести аналогию, MTA можно представить как почтовое отделение, которое занимается приемом и отправкой почты, а MDA с почтальоном, который приносит пришедшую корреспонденцию к вам домой. Если почтальон заболел, то это никак не скажется на работе почты, просто вы не получите письма на дом. Также и MDA, его отказ не приводит к неработоспособности почтового сервера, становится недоступно только получение почты почтовым клиентом, в то же время к ней можно спокойно получить доступ другими путями, например, через веб интерфейс.

Посмотрим, что происходит при отправке почты. В нашем примере пользователь Иванов, находящийся в домене example.org ([email protected]), пишет письмо Козлову в домен example.com ([email protected]). Для Иванова процесс отправки почты состоит из создания сообщения и нажатия кнопки "Отправить" в почтовом клиенте. Почтовый клиент соединяется с МТА по протоколу SMTP и первым делом сообщает свои учетные данные. Авторизовав пользователя, MTA принимает сообщение и пытается доставить его дальше.

Вообще-то авторизация не является обязательной процедурой для MTA, но без авторизации мы получим открытый релей, т.е. любой может воспользоваться нашим сервером для пересылки почты, а как спамеры обрадуются! В настоящее время открытые релеи возникают в основном из-за ошибок настройки сервера. Однако вполне допустима ситуация, когда MTA без авторизации принимает почту от доверенных пользователей, например из локальной сети предприятия.

Для авторизации MTA может использовать собственный список пользователей, системный список, списки пользователей LDAP или AD. Также существует способ: авторизация POP прежде SMTP, когда пользователь перед отправкой почты авторизуется на MDA, который, в свою очередь подтверждает аутентификацию пользователя для MTA.

Следующим шагом MTA анализирует служебную информацию письма, определяя домен получателя, если он относится к доменам обслуживаем данным МТА, производится поиск получателя и письмо помещается в его ящик. Так произошло, если бы Иванов написал письмо Петрову или Сидорову.

Если домен получателя не обслуживается MTA, формируется DNS-запрос, запрашивающий MX-записи для данного домена. MX-запись представляет особый вид DNS-записи, которая содержит имена почтовых серверов, обрабатывающих входящую почту для данного домена. MX-записей может быть несколько, в этом случае MTA пробует последовательно установить соединение, начиная с сервера с наибольшим приоритетом. При отсутствии MX-записи запрашивается A-запись (запись адреса, сопоставляющая доменное имя с IP-адресом) и выполняется попытка доставить почту на указанный там хост. При невозможности отправить сообщение, оно возвращается отправителю (помещается в почтовый ящик пользователя) с сообщением об ошибке.

Мы не будем рассматривать работу принимающего сервера, будем считать что все прошло нормально, Козлов получил письмо от Иванова и написал ему ответ. Сервер, обслуживающий домен example.com, проводит точно такие же действия и пробует передать почту нашему серверу. Получив входящее сообщение MTA, как и в случае с локальным отправителем, проверяет домен получателя, если он входит в число обслуживаемых MТА, обработка сообщения продолжается, иначе сервер отказывается принимать почту. После проверки домена проверяется получатель, если он присутствует в списке пользователей, сообщение доставляется в его ящик, в противном случае возможны два варианта: отказ от приема сообщения или прием сообщения в общий почтовый ящик (ящик администратора). С одной стороны такая настройка увеличивает число принимаемого спама, с другой позволяет не потерять письма с ошибками в написании адреса.

Еще одной мерой защиты от спама является запрос PTR-записи. PTR-запись (запись указателя) связывает IP-адрес с именем домена. Запрашивая PTR, MTA принимает почту только в том случае если домен отправителя совпадает с доменом отправляющего сервера.

Рассмотрим пример более подробно. Некий спамерский сервер spam.com пытается рассылать письма с поддельным отправителем, якобы от известного нам сервера example.com. В случае фильтрации по белым / черным спискам такое письмо будет доставлено, так как отправителем числится пользователь из доверенного домена (на что и рассчитывали спамеры). В целях борьбы со спамом MTA формирует запрос PTR записи для IP-адреса отправляющего сервера, который он сообщает в процессе SMTP сессии. Для адреса y.y.y.y PTR-запрос вернет имя домена spam.com, которое не совпадает с доменом отправителя, что будет причиной отказа в приеме данного сообщения. В то-же время сообщения от сервера x.x.x.x будут получены, так как домен из PTR-записи для x.x.x.x (example.com) совпадает с доменом отправителя.

Итак, сообщение получено и находится в почтовом ящике пользователя. Как его прочитать? Почтовое хранилище, где находятся ящики пользователей, может быть организовано самыми различными способами: начиная от банальных папок и фалов, заканчивая базой данных. Не обладая техническими знаниями, прочитать собственную почту вряд-ли удастся. Но разве это должно волновать пользователя Иванова? Для него процесс получения почты сводится к нажатию кнопки "Получить" в почтовом клиенте.

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

На этом наша статья заканчивается, мы настоятельно рекомендуем вдумчивое прочтение и усвоение изложенного в ней материала. В последующем, при рассмотрении практических реализаций почтовых серверов мы будем подавать материал из расчета, что читатель имеет знания в объеме не менее данной статьи.

Для желающих попробовать свои силы в самостоятельной установке и настройке почтового сервера, мы рассмотрим процесс пошаговой установки почтового сервера на базе сервера Windows Server 2003/2008/ и программного обеспечения hMailServer; пройдем этапы организации и настройки сервиса DNS в рамках того же сервера, и добавлении своего почтового домена на сервер.

В материале используется программное обеспечение hMailServer версии 5.0-B305.

Установка почтового сервера

Скачиваем программное обеспечение почтового сервера по ссылке:

Запускаем скачанную программу. Первый диалог, это диалог приветствия, нажимаем Next.

Следующий шаг это лицензионное соглашение:

Выбираем путь для инсталляции программы:

Выбираем устанавливаемые компоненты, выбираем все:

Выбираем встроенную базу данных:

Вводим название в меню пуск:

Проверяем введенные данные и соглашаемся:

Задаем пароль для администрирования сервера:

После того как все будет установлено, мы можем приступить к администрированию, находится в Start Menu. Первое, что мы увидим это коннект диалог. С помощью этой программы мы можем подключить к любому hMailServer. Мы будем соединяться с localhost, нажимаем connect, в диалоге для ввода пароля вводим пароль, который мы задали при инсталляции.

Первое, что мы должны увидеть это вкладка Wellcome, выбираем здесь опцию Add Domain..., вводим название нашего домена bestdomain.com и выбираем Save. Наш почтовый домен активен и готов к работе. Теперь на нужно добавить пользователя, раскрываем вкладку Domains, далее раскрываем вкладку bestdomain.com, далее выбираем вкладку Accounts.

Здесь мы можем добавлять, удалять и редактировать пользователей. Выбираем кнопку Add...

Вкладка General - здесь задается имя пользователя, пароль, квота ящика и права.
Вкладка Auto-reply - здесь настраивается автоответчик для конкретного пользователя.
Вкладка Forwarding - здесь настраивается пересылка почты для конкретного пользователя.
Вкладка Signature - задается подпись.
Вкладка External accounts - возможность забирать почту с других серверов для конкретного пользователя.
Вкладка Rules - настройка всевозможных фильтров.
Вкладка Active Directory - при необходимости возможность работы с соответствующей названию службой.
Вкладка Advanced - задание фамилии и имени пользователя, администрирование его почтовых папок.

Вкладка домена Aliases - позволяет настраивать алиасы для конкретного домена, вкладка домена Distribution List позволяет создавать листы рассылки.

Есть еще другие глобальные вкладки Rules настройки глобальных фильтров, Settings настройки протоколов, логов, подключение антиспама и антивируса.

Различные средства по обслуживанию сервера.

В фаерволе должны быть обязательно разрешены порты SMTP 25, POP3 110, IMAP 143.

При настройке почтового клиента вы должны помнить, что имя пользователя для POP3, IMAP, SMTP задается, как имя@bestdomain.com.

Настройка DNS сервера Windows 2003/2008.

Start -> Control Panel -> Add or Remove Programs

В открывшемся окне выбираем Add/Remove Windows Components должен запустится мастер Windows Components Wizard. Там становимся на пункт Networking Services выбираем Details отмечаем Domain Name System (DNS), далее, OK и Next, далее может потребоваться дистрибутив с инсталляцией Windows (конкретно папка i386) и перезагрузка системы.

После установки мы можем приступать к настройке DNS:

Start -> Administrative Tools -> DNS

Раскрываем дерево с названием компьютера -> щелкаем правой кнопкой на Forward Lookap Zones -> New Zone

В открывшемся мастере выбираем Next -> Primary Zone -> Next -> Вводима название зоны bestdomain.com -> Next -> соглашаемся с названием файла Next -> Do not allow dynamic updates -> Next -> Finish

Создаем все необходимые домены, первый это рут домен, название домена пустое, IP Address 100.100.100.100 -> Add Host. Далее создаем все нужные хосты, вводя в поле Name значения www, ns1, ns2, mail IP Address 100.100.100.100 -> Add Host. В конце выбираем Finish.

Следующим шагом мы должны отредактировать настройки нашей зоны, щелкаем правой кнопкой по названию созданного домена и выбираем Properties -> в открывшемся диалоге выбираем вкладку Name servers -> Удаляем автоматически созданный кнопкой Remove -> Добавляем два name сервера ns1 и ns2 кнопкой Add -> Вводим имя сервера и его IP.

Следующая вкладка Start of Authority (SOA) вписываем все указанные значения, после всех изменений домена сейчас и в будущем не забываем делать Increment для зоны, серийный номер увеличивается на 1.

Следующим шагом добавляем MX для работы почты, также как и для создания хостов, выбирам правой кнопкой New Mail Exchanger (MX).

Имя домена оставляем пустым, вводим ДНС имя почтового сервера и приоритет 10 и нажимаем OK.

ДНС настроен и готов к работе!

hMailServer - бесплатный почтовый сервер под платформу Windows. Распространяется с открытым кодом. Работает как служба Windows и включает в себя инструменты администрирования и резервного копирования. Поддерживает почтовые протоколы IMAP, POP3 и SMTP. В сервере есть все основные функции, такие как поддержка нескольких доменов, алиасы, списки рассылок. Авторизация пользователей может проводиться используя локальную базу пользователей hMailServer или через базу Active Directory.

hMailServer поддерживает несколько разных механизмов антиспама. Имеет встроенную поддержку антивируса ClamWin/ClamAV, сам антивирус нужно устанавливать отдельно. Есть возможность использования любого другого антивирусного сканера с командной строкой. SpamAssassin может использоваться как антиспам−фильтр. DNSBL - в наличие.

Для web-интерфейса можно использовать SquirrelMail или RoundCube.

Использовать можно в качестве домашнего почтового сервера или как почтовик небольшой компании.

Возможности

  • Подписи домена и аккаунтов.
  • Правила сервера, правила для отдельных аккаунтов.
  • Получение сообщений со внешних почтовых серверов по протоколу POP3.
  • Квоты на домен, почтовый ящик и почтовые сообщения.
  • Создание виртуальных псевдонимов для аккаунта.
  • Блокировка вложений (в зависимости от расширения файла вложения).
  • Пользовательские маршруты SMTP для выбранных доменов (может использоваться для создания резервного копирования, перенаправления и проч.).
  • Интерфейс программирования приложений (поддержка скриптовых языков VBScript и JScript).
  • Встроенная поддержка SSL.
  • Антивирус.
  • Антиспам.

Об остальных фичах поведаю в отдельном обзоре. Имею несколько лет опыта эксплуатации данного сервера. Баг встречал только один - в POP3 протоколе, он легко лечился использованием IMAP и пропал после очередного обновления. Обновления выходят редко, устанавливаются просто.

Ссылки

Используемые БД

Сами почтовые сообщения хранятся на жестком диске в формате MIME. Для хранения настроек и индексов использует базы данных:

  • Microsoft SQL Server 2000 and later
  • Microsoft SQL Server Compact Edition (CE)
  • MySQL 4 and later
  • PostgreSQL

В инсталлятор встроена Microsoft SQL Server Compact Edition (CE), но есть ньюанс:

Please Note: The bundled Microsoft SQL Server Compact Edition (MS SQL CE) is not supported by Microsoft for Windows 8, Windows 8.1, Windows 10, Server 2012, Server 2016. You will need to use an external database with these Operating Systems.

Так что используйте что-нибудь другое. Я пробовал два варианта баз данных: Microsoft SQL Server 2008 и MySQL 8.0. С MSSQL проблем не возникло. С MySQL пришлось покорячиться - нужно доставать 32-битную библиотеку libmysql.dll , сразу и не понял где её брать. PostgreSQL не пробовал, хотя этот вариант рекомендуют как основной.