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

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

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

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


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

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

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

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

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

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

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

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

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

Для начала нам нужен какой-нибудь почтовый сервер. Я думаю покупать крутые почтовые сервера в небольшой организации нет смысла, и, конечно же, денег на это Вам никто не даст. Но нам на помощь приходит небольшая программа, которая является почтовым сервером, но при этом бесплатная и проста в настройках. Это — Office Mail Server (Вы ее легко можете скачать в Интернете ).

Office Mail Server (OMS) - бесплатный почтовый сервер под платформу Windows, поддерживает почтовые протоколы POP3 и SMTP. Смысл программы прост, компьютер, на котором установлена данная программа, соединяется с сервером, будь-то обычный Yandex, Mail или почтовый сервер головного офиса Вашей компании (если Ваша организация является филиалом ) с которого нужно забирать письма. После получения писем Office mail Server раскидывает их по пользователям, которые в дальнейшем посредством уже локальной сети будут получать письма с помощью обычного почтового клиента, например The Bat или Mozilla Thunderbird. Все это нам дает то, что в локальной сети достаточно всего лишь одного компьютера с выходом в Интернет, а письма смогут получать все.

Установка программы Office Mail Server

Установка программы проста, просто устанавливаете программу путем запуска exe файла и сразу можете ее запустить, после запуска программы должно появиться следующие окно (если программа установилась корректно ).

Описание настроек программы Office Mail Server

А сейчас давайте рассмотрим описание настроек программы от самого автора программы:

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

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

Локальный домен — используется только для внутренних фиктивных email адресов — например, если вы оставите значение по умолчанию («mydomain»), все локальные пользователи будут иметь email адреса в виде «user@mydomain», где user — имя пользователя.

Размер файла журнала, KiB — здесь вы можете установить максимальный размер файла журнала (ofmsrv.log) в диапазоне 0…999 кибибайт. Если установлено значение 0 — то запись в журнал не ведется. В противном случае файл ограничивается заданным размером. Я очень не рекомендую устанавливать размер больше 100 KiB – это может привести к заметному снижению быстродействия программы.

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

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

Таймаут серверов POP3 и SMTP (сек) – интервал времени в секундах, по истечении которого сервер считает соединение с почтовым клиентом разорванным, если от почтового клиента не приходят команды. Для почтовых серверов в интернете этот параметр установлен 10 минут(!) – с учетом того, что соединение может быть медленным. Однако в локальной сети такая длительная блокировка совершенно ни к чему, нескольких десятков секунд вполне достаточно. Чтобы этот параметр изменился, необходимо перезапустить программу.

Максимальный размер отправляемого сообщения, KiB – позволяет установить ограничение на размер сообщений, отправляемых через SMTP сервер программы. Этот параметр влияет только на сообщения, которые уходят «наружу», на локальные же сообщения ограничение не действует. Размер задается в кибибайтах. Если ограничение размера не требуется, введите «0».

Использовать фильтр IP для ограничения доступа к серверам – установив этот флажок, вы ограничите возможность подключения к серверам из Интеренета с целью воспользоваться SMTP сервером программы для рассылки SPAM. Серверы SMTP и POP3 будут доступны только с IP адресов, которые успешно прошли алгоритм фильтрации:

  1. Если нет записи, разрешающей доступ — доступ запрещен (Выход).
  2. Если есть запись, запрещающая доступ — доступ запрещен (Выход).
  3. Разрешить доступ.

IP фильтр – эта кнопка вызывает диалоговое окно, в котором можно настроить диапазоны IP адресов, с которых возможен доступ к SMTP и POP3 серверам программы. По умолчанию OMS создает фильтр, настроенный на разрешение доступа только с IP адресов, выделенных локальным сетям:

  • 127.X.X.X маска 255.0.0.0 — localhost
  • 10.X.X.X маска 255.0.0.0 — локальная сеть класса A
  • 169.254.X.X маска 255.255.0.0 — локальная сеть класса B
  • 192.168.X.X маска 255.255.0.0 — локальная сеть класса B
  • 172.16.X.X маска 255.240.0.0 — 16 локальных сетей класса B

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

Если слова «IP адрес» и «Маска подсети» пугают Вас — лучше не трогайте настройки IP фильтра Сначала почитайте литературу по настройке сетей TCP/IP.

Локальные пользователи — список зарегистрированных локальных пользователей, которые имеют возможность соединяться с OFMSRV. У каждого пользователя есть свое уникальное имя, необязательный пароль для подключения к POP3 серверу, и необязательный внешний алиас (который заменит фиктивный внутренний email адрес при отправке сообщения в Интернет, что позволит адресату правильно использовать функцию ответа на сообщение ).

Есть два особых пользователя — один из них «ПОСТМАСТЕР». Это пользователь, ответственный за работу и сопровождение OFMSRV. Он получает специальные сообщения, формируемые системой в случае ошибки, а также все входящие сообщения, адресатов которых сортировщик не смог определить (если сортировщику явно не указано, каким локальным пользователям направлять такие сообщения ).

Другой особый пользователь — «ДЕМОН». Это не настоящий пользователь, а странное создание, которое живет в OFMSRV. Демон не может получать сообщения из Интернет, никто не может подключиться к POP3 серверу под его именем и прочитать его почтовый ящик. Но каждый локальный пользователь может отправить демону любое сообщение, и когда демон его «съест», он запустит сеанс связи с внешним SMTP/POP3 сервером, чтобы отправить накопленную исходящую почту и считать входящую. Это сделано для обеспечения возможности дистанционного запуска сеанса связи, но это можно сделать и вручную из меню OFMSRV, не «будя» демона.

Постмастера и демона нельзя удалять.

Кроме этого, есть пользователь «Босс». Ему попадают копии всех сообщений, отправляемых через SMTP сервер программы, что позволяет контролировать и архивировать исходящую почту всех локальных пользователей. «Боссом» можно назначить любого пользователя, кроме ДЕМОНА, но лучше назначить специальное имя. Нужно не забывать периодически очищать почтовый ящик «босса» – иначе со временем быстродействие программы может заметно снизиться. Также не следует забывать, что такой перехват почты нарушает права человека, однако в некоторых организациях он просто необходим.

Добавление новых пользователей и изменение их данных производится соответствующими кнопками диалогового окна.

Для настройки связи с внешним почтовым сервером используйте пункт меню «Настройки->Связь » (у Вас откроется следующие окошко ).

  • SMTP сервер – ip адрес Вашего компьютера, на котором установлена данная программа;
  • SMTP порт – порт почтового сервера;
  • Подключение через LAN — установите этот флажок, если Вы подключены к Интернет постоянно (через локальную сеть ), или через клиента Winsock Proxy. Когда этот флажок снят, будет доступна группа параметров «Использовать это соединение» (только если на компьютере зарегистрированы учетные записи «Удаленного доступа» к сети );
  • Учетные записи POP3 – здесь как раз настраивается удаленный почтовый сервер (можете настроить до 100 учетных записей ).

Для сортировки писем между пользователей нужно использовать следующий пункт меню «Настройка->Сортировщик ». Смысл сортировщика в том, чтобы письма, которые получает OMS, сортировались по пользователям, которые должны получить эти письма.

Потом Вы жмете кнопку добавить и в поле «если поле заголовка» ставите «to», а в поле «содержит текст», пишите адрес от кого получили Вы письма и наконец-то добавляете пользователей, которым нужно доставить эти письма (более подробную инструкцию по настройке Вы сможете посмотреть в папке с программой после ее установки ).

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

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