Компьютер. Браузеры. Программы. Социальные сети

Почтовый сервер Office Mail Server для небольшой организации (уменьшение трафика Интернета). Почтовый сервер Office Mail Server для небольшой организации (уменьшение трафика Интернета) Локальный почтовый сервер

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

Так, практически любой современный офис или предприятие оснащены специальными почтовыми серверами, которые предоставляют каждому сотруднику собственную корпоративную почту. Такая система позволяет сотрудникам оперативно обмениваться важными данными и значительно экономить временные ресурсы. Один из таких почтовых серверов называется Gattaca Server, который можно бесплатно скачать для ОС Windows.


Это ПО с отличной поддержкой протоколов связи (POP3 и SMTP), с помощью которого можно качественно организовать работу почтовых систем без лишних телодвижений.

Gattaca Server отличается от аналогов высокой стабильностью работы, обширным функционалом и совместимостью со всеми популярными почтовыми клиентами (The Bat, Outlook Express, Thunderbird и другие).

Однако, самым главным отличием ПО от других систем является возможность его бесплатного использования. Любой желающий системный администратор в состоянии быстро установить и настроить Gattaca Server без необходимости платить за его использование.

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

Отдельно стоит отметить и встроенную систему безопасности почтового сервера, которая в автоматическом режиме блокирует попытки подбора паролей к учётным записям и добавляет недоброжелательный IP-адрес в чёрный список.

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

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

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

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

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

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

hMailServer

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

Вот лишь некоторые из его возможностей (взято с сайта проекта):

Main features

  • POP3, SMTP, IMAP
  • Virtual domains
  • Built-in backup
  • SSL encryption
  • Anti-spam
  • Anti-virus
  • Scripting
  • Server-side rules

  • Multilingual
  • Routing
  • MX backup
  • Multihoming
  • SQL backend
  • Web administration
Integrations

  • ClamWin
  • SpamAssassin

Программа состоит из двух частей - сервиса, выполняющего все функции по работе с почтой, и графической оболочки администратора, что позволяет управлять не только локальным, но и удалённым сервером. Для хранения своих настроек и индексов, ускоряющих работу с большим количеством писем, используется база данных. По умолчанию устанавливается MS SQL Server Compact, но так же поддерживаются PostgreSQL, MySQL, MS SQL.

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

Так же, в комплекте поставляется веб-интерфейс администратора, написанный на PHP, который можно подключить к существующему сайту на Apache или IIS.

Mercury Mail Transport System (Mercury/32)

Сайт: http://www.pmail.com/index.htm


Mercury Mail Transport System входит в комплект XAMPP (http://ru.wikipedia.org/wiki/XAMPP - кроссплатформенная сборка веб-сервера, содержащая Apache , MySQL , интерпретатор скриптов PHP , язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.)
Обладает довольно широкими возможностями, однако, хоть и позиционируется как бесплатный, для полноценного использования в качестве почтового сервера (запуска в качестве сервиса) и использования в коммерческих целях, требует платной лицензии.

Поддерживаемые протоколы:

Protocols supported

  • - Для запуска в качестве сервиса требуется коммерческая лицензия.

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 не пробовал, хотя этот вариант рекомендуют как основной.

Похожие публикации