Перейти к содержанию

Почтовый сервер своими руками. Windows версия


ArcheRAWG

Рекомендуемые сообщения

В 21-м веке, в эре цифровых технологий, почти всё пользуются почтой. Я не имею ввиду "черепашью" почту. Я имею ввиду электронную. Для регистраций на сайтах, для новостных рассылок, для работы и т.д. В общем она нужна всем. И почтовых сервисов уйма, на любой цвет и вкус: Google, Mail.ru, Live.com, Yandex.ru и так далее. Места для почтовых ящиков там более чем предостаточно, не то что раньше: я когда регистрировал свой первый почтовый ящик - выдавалось под письма 10 мегабайт. Щас таких проблем нет.
Фирмы предпочитают использовать свои почтовые сервера. Собственно именно и такой случай мы и рассмотрим. В этой статье, мы поднимем почтовый сервер на Windows.
И так. Задача:

  • Поднять почтовый сервер. 
  • Для каждого пользователя свой почтовый ящик для работы с клиентами. 
  • Авторизация по домену.
  • Центральный почтовый ящик, который указан на сайте - на него сыпятся все письма. С него уже переправляются менеджерам
  • Отслеживание переписки, кто куда что отправил. 
  • Когда менеджер уходит в отпуск, его клиенты переходят другому и чтобы не раздавать пароли налево и направо, делаем входящую переписку доступной с любого аккаунта
  • Антиспам, антивирус
  • Минимальные затраты

Казалось бы выбор очевиден: Exchange + Outlook. Но нет. Затраты должны быть минимальны, в идеале их вовсе не должно быть. Поэтому будем пользоваться OpenSource решениями:

hMailServer - почтовый сервер под Windows. Всё что нам нужно - там есть. Подробнее распишу ниже

OpenServer - готовый пакет программ для организации Web сервера. Понадобится для web-морды почты. Будем использовать Basic редакцию. Нам незачем лишний софт

RoundCube - web-морда почты. Из всех что я смотрел, показалась самым приемлемым вариантом. 

ClamWin - почтовый антивирус. Используется hmailserver

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

Для начала нам нужно установить OpenServer. Устанавливаем в нужное место, и запускаем. При первом запуске он предложит установить дополнительные библиотеки - соглашаемся. Если потребуется перезагрузка - перезагружаемся.

Теперь нам необходимо его настроить и подготовить к работе.

1. Вкладка Основные - ставим галочку автозапуск сервера, и Запускать вместе с Windows
2. Вкладка Сервер - Выбираем IP адрес по которому будет работать сервер и корневую папку доменов (полезно если хотите держать файлы на другом винте)
3. Вкладка модули - выбираете модули которые будут работать на вашем веб сервере. Я использую следующие модули:

1501739097_1.png.9416428738dd2d7fced2238d65dba0ed.png

4. Вкладка Домены - добавляем наш домен
Для проверки введите свой домен в адресной строке либо попробуйте зайти по IP адресу.

5. Для нормально работы hMailserver'a требуется MySQL. Для этого его нужно настроить - правой кнопкой по иконке openserver'a в трее - дополнительно - MySQL менеджер

Откроется окно HeidiSQL создаём подключение со следующими параметрами:
Имя хоста - наш домен или IP адрес которые мы указывали в настройках
Пользователь - root
Пароль - пустой 🙂 не забудьте поменять сразу.

Инструменты - добавить пользователя
hmail - логин
hmailpass - пароль.
Используйте свою комбинацию логин/пароль. Так же не забудьде указать паремтры доступа к базе.
Вебсервер настроен, базы есть, приступаем к установке hMailserver'a.

Во время установки спросит какую базу использовать. Выбираем 

1501741181_4.png.3033ee1f839e7da35c11296f20747d84.png

Так же попросит указать пароль для дальнейшего управления и настройки. Так же если у вас нет Netframework 2, он его скачает и установит.

После установки, сразу же откроется мастер настройки Базы данных.
1. Next
2. Create a new hMailserver default database
3. MySQL
4. Addres - наш IP адрес
Port - по умолчанию 3306, если не меняли
Name - hMailserver
login hmail
pass hmailpass
Теперь скопируем файлы libmysql.dll в папку куда установился hmailserver (в Program files)
Файлы лежат у меня в 

C:\OpenServer\modules\database\MySQL-5.6-x64\lib

и копируем их в 

C:\Program Files (x86)\hMailServer\Bin

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

1501742534_5.png.5aa76dc9590f95a698b9664c3ae0dcb2.png

1. Add domain - указываем наш домен. Ставим галочку Enable и нажимаем Save
2. Domain - наш домен - Accounts - создаем первый почтовый ящик
Теперь надо бы проверить работает ли сервер. Для этого разархивируем архив с roundcube'ом в папку с нашим доменом. После чего нам нужно отредактировать файс config/config.inc.php. Для этого в самый конец файла добавляем

$config['enable_installer'] = true; 

После чего в браузере переходим по адресу http://vashdomen/installer 

Откроется данная страница. Если всё нормально то мы сможем продолжить установку, если нет - будут указаны ошибки которые нужно исправить. Их решение есть в интернете, поэтому я не буду заострять на этом внимания.
Для продолжения нам нужно создать базу данных roundcubemail и пользователя к ней. Создаём как это делали выше для hmailserver'a
После чего заполняем данные на второй странице инсталятора
Type - MySQL
server - наш домен или IP
name - roundcubemail
username - roundcube
password - pass
Сохраняем конфиг, на следующей странице инициализируем базу.
Если всё ок. То можем проверять - переходим на наш домен вводим логин и пароль от созданного пользователя.

Всё должно работать. Теперь приступим к более тонкой настройке сервера.

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

Настроим связку, для этого в hmailserver administrator
Settings - Anti-virus - ClamWin - Enable - Auto-detect. Можем сразу протестировать нажав клавишу тест, но как показывает практика с этим проблем быть не должно.

Теперь создадим почтовые адреса для пользователей. Мы помним что у нас должна быть авторизация по домену. И так.
Domains - нашдомен - Accounts - add
Addres - manager1@test.ru
pass - pass
Administrator level - user
Далее переходим на вкладку Active Directory
Тут мы должны указать какому пользователю домена соответствует этот адрес. У меня это будет Ivanov. Указываем домен и его имя пользователя.
Теперь при логине в почту ему не нужно будет указывать свой почтовый адрес (manager1@test.ru), ему достаточно будет указать свои логин и пароль которые он использует для входа в систему.
Теперь создадим общую папки в которые будут складываться все письма.
Settings - Protocols - IMAP - Public folders
Имя укажем #Publics. Нажимем кнопку Edit и создаём нужные нам папки. Я назвал их In и Out. Папка In будет доступна всем, папка Out только администрации.

1501811484_8.thumb.png.8d282532acc4d38afe3d450286c91f52.png

Теперь сделаем так, чтобы все входящие письма сыпались в папку In а исходящие в Out


Domain - rules - add
Name - InMail
Не забываем галочку Enable
Use AND

Жмём ADD

Name - "MailIn"

Criteria (Use AND) - IF Message size GREATER THEN 0

Actions - MOVE TO IMAP FOLDER #Public.Mail.In


Жмём ADD

Name - "MailOut"

Criteria (Use AND) - IF To NOT EQUALS @test.ru

Actions - MOVE TO IMAP FOLDER #Public.Mail.Out

 
Теперь письма складываются.

Ну вот вроде и всё. Такой почтовый сервер подойдёт для малого бизнеса, где не так много людей которые пользуются почтой 🙂

 

Открыть запись

 

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...