Гид компьютерного мира - Информационный портал
  • Главная
  • Вконтакте
  • Удаленный почтовый сервер. Обзор бесплатных почтовых серверов под Windows - Windows - Каталог статей - Записки админа

Удаленный почтовый сервер. Обзор бесплатных почтовых серверов под Windows - Windows - Каталог статей - Записки админа

Для желающих попробовать свои силы в самостоятельной установке и настройке почтового сервера, мы рассмотрим процесс пошаговой установки почтового сервера на базе сервера 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.

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

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

В качестве почтового сервера на ОС Windows будем использовать бесплатный почтовый сервер hMailServer. Заходим на сайт Hmailserver в разделе Download скачиваем последнюю доступную версию для установки. Запускаем установку сервера. На пункте выбора типа установки выбираем полную. Выбираем тип сервера баз данных, если планируется большое количество почтовых ящиков и критична их сохранность, выбираем Use external database Engine (MSSQL, MySQL or PostgreSQL) Устанавливаем пароль администратора, обязательно запомните его. После установки возникнет окошко соединения с сервером. Для удобства запуска приложения, установите опцию "Automatically connect on start-up" и нажмите "Connect". На приветственном окне нажимаем кнопку Add domain… Так же добавлять домены можно в разделе Domains-Add...

Добавляем домен

Выделяем домен и в разделе Accounts добавляем почтовый аккаунт

Данных настроек уже достаточно для того, чтобы пользоваться почтой.

Описание настроек почтового сервера hMailServer

Status

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

В разделе Status-Status собрана статистика сервера, uptime сервера, количество обработанных писем, обнаруженных вирусов и спам-сообщений. Так же в этом разделе отображается количество активных SMTP, POP3, IMAP-сессий.

В разделе Status-Logging можно включить логирование и в прямом “эфире” наблюдать подключения к почтовому серверу. В разделе Status-Delivery Queue находится почтовая очередь, в этом же разделе почтовую очередь можно очистить.

Domains

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

В разделе General можно включать/выключать почтовый домен. В разделе Names можно добавить alias для почтового домена. В разделе Signatures можно добавить подпись для писем, отправляемых с ящиков указанного почтового домена. Можно определить условия использования подписи:

  • Для всех ящиков, у которых нет подписи
  • Перезаписывать подпись почтового ящика
  • Добавлять подпись к подписи почтового ящика

Можно добавить текстовую и/или html-подпись.

В разделе Limits устанавливаются лимиты. Maximum Size (Mb) - устанавливает лимит по размеру на все почтовые сообщения во всех почтовых ящиках домена. Maximum message size (Kb) - если значение задано, то hMailServer будет отвергать сообщения больше указанного значения. Если параметр не задан, то будет использоваться значение, указанное в настройках SMTP. Max size of accounts (Mb) - если значение задано, то администратор не сможет добавлять аккаунты с общим объемом, превышающим значение. Так же в этом разделе можно настроить максимальное количество аккаунтов, алиасов и списков рассылок.

В разделе DKIM Signing можно настроить DKIM-подпись. Для формирования подписи и ключа рекомендую воспользоваться ресурсом dkim-wizzard В Pivate key file указываем файл с приватным ключом. В пункте Selector указываем селектор, который должен соответствовать записи в DNS. Например, если ваша запись DNS называется myselector._domainkey.example.net, вы должны ввести "myselector" в качестве селектора (без кавычек).

В разделе Advanced можно настроить адрес для пересылки почты, которая присылается на все несуществующие почтовые ящики, включить, так называемый “Plus addressing” и указать для него символ. Можно включить/выключить greylisting.

В разделе Domains-Accounts производятся настройки каждого конкретного почтового ящика. На вкладке General находятся главные настройки аккаунта. Адрес, пароль и размер почтового ящика. Также можно указать уровень доступа пользователя к серверу:

  • User- может менять настройки аккаунта, например пароль.
  • Domain - пользователь может изменять базовые настройки домена и пользователей в домене. Может добавлять пользователей, алиасы, листы рассылок, удалять объекты, увеличивать лимиты аккаунтов.
  • Server - пользователь может менять настройки сервера и всех доменов в нем.

На вкладке Auto-reply можно настроить автоответчик, указать тему и сообщение автоответчика, а также дату, до которой автоответчик включен.

Во вкладке Forwarding можно настроить адрес для пересылки почты. Во вкладке Signature настраивается подпись для аккаунта, так же как и для домена, можно настроить txt и html-подпись. Во вкладке External accounts можно настроить hMailServer для скачивания почты с других почтовых серверов, используя протокол POP3, после того, как сообщение будет скачано, к нему будут применены все настройки сервера, после этого сообщение будет доставлено в локальный аккаунт. Во вкладке Rules настраиваются правила, которые работают так же как глобальные правила, но применяются только к сообщениям. Подробнее смотрите раздел Rules. Во вкладке Active Directory можно подключить аккаунт Active Directory. Когда пользователь подключится к серверу hMailServer, будет использовать Active Directory для валидации пароля пользователя. Во вкладке Advanced можно указать Имя и Фамилию пользователя (эти данные не используются hMailServer). Можно отредактировать IMAP-папки, очистить содержимое всех IMAP-папок.

Во вкладке Domains-Aliases настраиваются алиасы для почтовых ящиков.

В Domains - Distribution lists производится настройка списка рассылки. Address - адрес рассылки, сообщения, посланные на этот адрес, будут пересланы всем в списке рассылки. Существует 3 режима:

  • Public - любой может слать письма.
  • Membership - только члены списка могут спать письма.
  • Announcements - сообщения могут отправляться только с определенного почтового ящика.

Require SMTP Authentication - если установлен этот флаг, то hMailServer потребует аутентификации SMTP для доставки по списку рассылки. Если выбран этот параметр, только пользователи с учетными записями на сервере будут иметь возможность отправлять электронную почту в список рассылки. На вкладке Members можно добавлять почтовые адреса. Поддерживается добавление адресов из hMailServer (Select…) и импорт из текстового файла (Import…).

Rules

В разделе Rules можно включить правила, основанные на содержимом письма, например, можно удалять письма с определенной строкой, или пересылать письма больше определенного размера. Каждое правило имеет критерий и действие. Когда вы создаете правило, вы добавляете критерий, который определяет к какому сообщению будет применено правило. Например, можно добавить критерий, который будет действовать на письма с определенным Message-ID-header. После добавления критерия, добавляем действие. Действие описывает, что должен делать hMailServer с сообщением, если оно соответствует критерию. Например, можно переслать, удалить сообщение или поместить его в определенную папку.

Settings

В разделе Settings производятся настройки протоколов. Можно настроить антиспам, антивирус (Clamav, требуется дополнительная установка), включить логирование. В Settings-Advanced производятся настройки Auto-ban, SSL-сертификата, портов и Ip-адресов почтового сервера.

Utilities

В разделе Backup можно сделать бэкап настроек, доменов, сообщений, также там указан скрипт, который можно добавить в ежедневное задание. В этом разделе также можно восстановить данные из бэкапа. В разделе MX-query можно произвести диагностику MX-записи почтового сервера (аналог dig MX) В разделе Server sendout можно отправить сообщение на локальный почтовый адрес. Diagnostics - еще один инструмент диагностики, проверяет подключение по 25 порту, MX-записи домена.

Вы можете установить SMTP сервер с помощью встроенных средств во всех версиях Windows Server. Такой SMTP сервер внутри организации может работать в качестве почтового релея, который должен принимать и пересылать через себя SMTP сообщения от различных устройств (к примеру, сендеров, сканеров, устройств СКД и пр.) и приложений (веб приложения, SQL Reporting Services, SharePoint), которым необходимо иметь возможность отправлять почту через SMTP сервер. Такой релей может пересылать сообщения на полноценные Exchange сервер или на публичные почтовые сервисы в Интернет типа Gmail, Mail.ru, Office 365 и т.д (ведь не всегда целесообразно разворачивать полноценную внутреннюю почтовую инфраструктуру на базе Microsoft Exchange Server или других почтовых служб).

В этой статье мы покажем, как установить, настроить и протестировать работу SMTP сервера на Windows Server 2012 R 2, 2016 и 2019 , который будет функционировать в качестве mail релея . Такой SMTP сервер не хранит почтовые сообщения и на нем отсутствуют почтовые ящики, он сможет только отправлять или пересылать почту.

Установка службы SMTP на Windows Server 2016/2012 R2

SMTP сервер – это один из компонентов Windows Server, который можно установить через . Для этого откройте консоль Server Manager Dashboard (servermanager.exe), перейдите в режим Add roles and features и на этапе выбора функций отметьте чекбокс у пункта SMTP Server . Для управления службой SMTP нужно установить консоли управления, которые входят в комплект роли Web Server IIS (вам будет предложено установить IIS Management Tools).

Оставьте все предлагаемые опции роли Web Server (IIS) и запустите установку.

Также вы можете установить компонент SMTP сервера с помощью одной команды PowerShell:

Install-WindowsFeature smtp-server

После окончания установки компонентов может потребоваться перезагрузка системы.

Настройка SMTP сервера на Windows Server

Управляется SMTP сервер консоль управления Internet Information Services (IIS) Manager 6 . Открыть эту консоль можно через Server Manager: Tools-> Internet Information Services (IIS) 6.0 Manager или командой inetmgr6.exe .

В консоли IIS 6 Manager разверните ветку с именем сервера, щёлкните ПКМ по SMTP Virtual Server и откройте его свойства.

На вкладке General , если необходимо, выберите IP адрес, на котором должен отвечать SMTP сервер (если у сервера ), и включите ведение логов Enable logging (чтобы сохранялась информация обо всех полученных письмах).

Затем перейдите на вкладку Access .

Здесь нажмите на кнопку Authentication и убедитесь, что разрешен анонимный доступ (Anonymous access ).

Вернитесь на вкладку Access и нажмите кнопку Connection . Здесь вы можете указать IP адреса устройств, которым разрешено отправлять почту через наш SMTP релей. Нужно выбрать опцию Only the list below и указать список IP адресов, не забыв самого себя (127.0.0.1).

Аналогичным образом настройте список разрешенных IP в настройках Relay (нажмите соответствующую кнопку). В этой секции указано каким IP адресам (или подсетям) можно пересылать почту через ваш SMTP сервер.

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

Перейдите на вкладку Messages . Здесь указывается email, на который будут отправляться копии всех NDR отчетов (Send copy of Non-Delivery Report to:). Также здесь можно указать ограничения на максимальный размер писем (Limit message size KB) и количество получателей (Limit number of recepients per message).

Перейдите на вкладку Delivery :

Затем нажмите на кнопку Outbound Security . Здесь указывается, как нужно авторизоваться на почтовом сервере, на который ваш SMTP-сервере будет пересылать (relay) всю почту. К примеру, если вся почта будет отправляться на почтовый сервер Gmail и уже с него пересылаться адресатам, вам нужно выбрать тип аутентификации Basic authentication , указав в качестве пользователя и пароля данные для доступа к почтовому ящику на сервисе Gmail (в настройках аккаунта Google нужно разрешить отправку через smtp сервера gmail).

Затем нажмите на кнопку Advanced .

Здесь указывается FQDN имя вашего SMTP сервера. Нажмите кнопку Check DNS , чтобы проверить корректность записи в DNS.

Если сервер должен пересылать почту внешнему smtp серверу, нужно указать его имя в поле Smart host (к примеру smtp .gmail .com или smtp .office 365.com ).

Некоторые внешние почтовые сервера принимает почту только при использовании защищенного SMTP соединения с помощью TLS Encryption (используется порт TCP 587). Это настраивается в разделе Delivery-> Outbound Security и Outbound Connections. Ознакомитесь с документацией вашего почтового провайдера.

Сохраните настройки SMTP сервера и перезапустите ваш виртуальный SMTP сервер для применения изменений.

Примечание .

  1. Настройки DNS критичны с точки зрения работоспособности почтовой системы. Если ваш SMTP сервер не может корректно разрешить DNS имена доменов, на которые он пытается отправить письма, доставка не удастся.
  2. Если ваш сервер сам будет отправлять почту в другие домены, важно, чтобы для вашего адреса была сформирована правильная PTR запись для разрешения обратных DNS запросов. PTR запись для белого IP адреса должна указывать на FQDN имя. В противном случае большинство внешних smtp серверов не будут принимать от вас почту, считая ваш сервер спамерским.

Автозапуск службы SMTPSVC

Осталось настроить автозапуск службы SMTP сервера. Быстрее всего это сделать из командной строки PowerShell:

set-service smtpsvc -StartupType Automatic

Запустим службу:

start-service smtpsvc

get-service smtpsvc

Status Name DisplayName
-- -- ----
Running smtpsvc Simple Mail Transfer Protocol (SMTP)

Проверка работы SMTP сервера на Windows Server

Ну и последнее, что осталось сделать, проверить работу созданного SMTP сервера. Проще всего это сделать, создав на рабочем столе текстовый файл smtp -test -email .txt и скопировав в него следующий текст, заменив имя отправителя и получателя на ваши.

From: [email protected]
To: [email protected]
Subject: Email test
This is the test email

Скопируйте файл smtp-test-email.txt в каталог C:\inetpub\mailroot\Pickup . SMTP сервер следит за появлением файлов в этой каталоге и при обнаружении файла прочтет его содержимое и попытается отправить письмо с данной темой и текстом адресату, указанному в разделе To: .

Проверьте ящик получателя, в него должно прийти такое письмо.

Совет . Протестировать работу SMTP сервера можно и , или PowerShell:

Send-MailMessage -SMTPServer localhost -To [email protected] -From [email protected] -Subject "Email test" -Body "This is the test email sent via PowerShell"

Если вы хотите, чтобы вы включили Basic Authentication (Обычная проверка подлинности) для авторизации всех ваших SMTP клиентов (вместо анонимной аутентификации), вы можете отправить письмо с smtp-аутентификацией через telnet образом.

Также убедитесь, что на вашем SMTP сервере не блокируется порт TCP 25 при удаленном подключении (локальным файерволом, антивирусом или межсетевым экраном). Проще всего это сделать с компьютера Windows, IP адрес которого добавлен в разрешенные. Проверку доступности порта можно выполнить с помощью командлета :

Test-NetConnection smtpsrv1.name.local –port 25

Если 25 порт блокируется, проверьте настройки Windows Firewall, антивируса и аппаратных межсетевых экранов.

Итак, вы настроили собственный почтовый SMTP релей на Windows Server 2016/2012 R2 и протестировали отправку писем через него.

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

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.

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

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

Для большинства пользователей и начинающих администраторов почтовый сервер представляет собой некий "черный ящик", который получив письмо "неведомыми" путями доставляет его адресату и наоборот. Все взаимодействие с таким сервером заключается в обращении почтового клиента к определенным портам, а то и вообще через веб-интерфейс. Однако внутри скрыт целый механизм, понимание работы которого имеет ключевое значение для успешной настройки и обслуживания системы электронной почты. Это особенно важно для администрирования серверов на платформе 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 проверяет наличие пользователя в списках и, при успешной проверке, передает клиенту все новые сообщения находящиеся в его почтовом ящике. Пользователь Иванов получает свою корреспонденцию и может работать с ней удобным ему способом.

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

Лучшие статьи по теме