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

Почтовик своими руками. Windows версия
 
В 21-м веке, в эре цифровых технологий, почти всё пользуются почтой. Я не имею ввиду "черепашью" почту. Я имею ввиду электронную. Для регистраций на сайтах, для новостных рассылок, для работы и т.д. В общем она нужна всем. И почтовых сервисов уйма, на любой цвет и вкус: Google, Mail.ru, Live.com, Yandex.ru и так далее. Места для почтовых ящиков там более чем предостаточно, не то что раньше: я когда регистрировал свой первый почтовый ящик - выдавалось под письма 10 мегабайт. Щас таких проблем нет.
Фирмы предпочитают использовать свои почтовые сервера. Собственно именно и такой случай мы и рассмотрим. В этой статье, мы поднимем почтовый сервер на Windows. 
 
В 21-м веке, в эре цифровых технологий, почти всё пользуются почтой. Я не имею ввиду "черепашью" почту. Я имею ввиду электронную. Для регистраций на сайтах, для новостных рассылок, для работы и т.д. В общем она нужна всем. И почтовых сервисов уйма, на любой цвет и вкус: Google, Mail.ru, Live.com, Yandex.ru и так далее. Места для почтовых ящиков там более чем предостаточно, не то что раньше: я когда регистрировал свой первый почтовый ящик - выдавалось под письма 10 мегабайт. Щас таких проблем нет.
Фирмы предпочитают использовать свои почтовые сервера. Собственно именно и такой случай мы и рассмотрим. В этой статье, мы поднимем почтовый сервер на Windows.
И так. Задача:
  • Поднять почтовый сервер. 
  • Для каждого пользователя свой почтовый ящик для работы с клиентами. 
  • Авторизация по домену.
  • Центральный почтовый ящик, который указан на сайте - на него сыпятся все письма. С него уже переправляются менеджерам
  • Отслеживание переписки, кто куда что отправил. 
  • Когда менеджер уходит в отпуск, его клиенты переходят другому и чтобы не раздавать пароли налево и направо, делаем входящую переписку доступной с любого аккаунта
  • Антиспам, антивирус
  • Минимальные затраты
Казалось бы выбор очевиден: Exchange + Outlook. Но нет. Затраты должны быть минимальны, в идеале их вовсе не должно быть. Поэтому будем пользоваться OpenSource решениями:
  • hMailServer - почтовый сервер под Windows. Всё что нам нужно - там есть. Подробнее распишу ниже
  • OpenServer - готовый пакет программ для организации Web сервера. Понадобится для web-морды почты. Будем использовать Basic редакцию. Нам незачем лишний софт
  • RoundCube - web-морда почты. Из всех что я смотрел, показалась самым приемлемым вариантом. Тут можно скачат beta версию 1.3
  • ClamWin - почтовый антивирус. Используется hmailserver
Все ссылки ведут на мою файлопомойку. Но в гугле можно скачать с сайтов производителей версии и поновее.

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

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

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

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

 
значит всё работает.

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

 

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

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

 
Во время установки спросит какую базу использовать. Выбираем  
Так же попросит указать пароль для дальнейшего управления и настройки. Так же если у вас нет 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

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

$config['enable_installer'] = true; 

После чего в браузере переходим по адресу
http://нашдомен/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 только администрации.

Теперь сделаем так, чтобы все входящие письма сыпались в папку 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
 
Теперь письма складываются.

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

{poster_avatar}  ArcheRAWG
500 25.05.17


Кликните на изображение чтобы обновить код, если он неразборчив