- SMTP сервер на Windows: настройка и установка
- Виртуальный сервер на базе Windows
- Что это такое
- Установка
- Настройка SMTP сервера
- Автозапуск службы SMTPSVC
- Тестирование SMTP сервера
- hMailServer — установка
- Ссылки
- Установка hMailServer
- Подготовка к установке
- Дистрибутив
- Установка
- Известные проблемы
- Can’t create database
- Не установили .NET Framework 3.5
- Database is not available
SMTP сервер на Windows: настройка и установка
В этом руководстве будет рассмотрен процесс установки и настройки smtp-сервера на виртуальные серверы под управлением операционных систем Windows.
Виртуальный сервер на базе Windows
Что это такое
SMTP-сервер используется для передачи электронной почты для обмена в сети Интернет и внутри локальной сети. Может использоваться для отправки системных сообщений и лог-файлов.
Установка
Для начала необходимо добавить недостающие компоненты.
Выберете “Установка ролей и компонентов” и нажмите “Далее”.
Выберете нужный сервер из пула.
На следующем шаге выберете роль “Веб-сервер (IIS)”. В открывшемся окне нажмите “Добавить компоненты”. Веб-сервер (IIS) содержит консоли для управления службой SMTP.
Далее в списке компонентов выберете “SMTP-сервер”. В открывшемся окне нажмите “Добавить компоненты”.
На следующих шагах примите настройки по умолчанию и выполните установку. Перезагрузка сервера не требуется.
Настройка SMTP сервера
Управлять SMTP сервером можно через Internet Information Services (IIS) Manager 6. Чтобы открыть IIS, перейдите в диспетчер серверов и в меню в правом верхнем углу выберете раздел “Средства” -> “Диспетчер служб IIS 6.0”.
Разверните ветку с именем сервера, выберете SMTP Virtual Server и откройте его свойства.
На вкладке “Общие” выберете ваш IP-адресс, на котором должен отвечать SMTP сервер и включите ведение журнала, для сохранения информации обо всех отправленных письмах.
На вкладке “Доступ” в раздел “Управление доступом” нажмите кнопку “Проверка подлинности”. В открывшемся окне отметьте галочкой пункт “Анонимный доступ” для того, чтобы все пользователи сервера и приложения могли использовать SMTP-сервер.
Далее в разделе “Управление подключением” нажмите кнопку “Подключение”. В открывшемся окне разрешите доступ к SMTP-серверу только определенным компьютерам, добавив их в список и выбрав тип подключения “Только компьютеры из списка ниже”.
Примечание: не забудьте добавить IP-адрес сервера на котором настраивается SMTP-сервер.
Далее, на вкладке “Доставка” нажмите кнопку “Дополнительно”. В открывшемся окне в поле “Полное доменное имя” введите ваше доменное имя или IP-адрес.
При проверке DNS имя домена должно быть допустимым.
Сохраняем все внесенные изменения.
Автозапуск службы SMTPSVC
Служба SMTP-сервера должна запускаться автоматически при включении сервера, для этого откройте командной строку и выполните следующие команды:
set-service smtpsvc -StartupType Automatic
Убедитесь, что служба SMTPSVC запущена:
Тестирование SMTP сервера
Для проверки корректности работы создайте любой текстовый документ с расширением txt (например, на рабочем столе), и внесите следующие строки, указав от кого вы отправляете письмо и кому:
From: server@example.org
To: test@gmail.com
Subject: test
Some text
- в почтовом адресе отправителя в качестве доменного имени указывайте ваше или ip-адрес, имя почтового ящика может быть любым;
- отправленные письма попадают в спам, чтобы этого не происходило необходимо настроить SPF и/или DKIM для вашего домена.
Далее перенесите созданный файл в директорию C:\inetpub\mailroot\Pickup. Файл исчезнет спустя короткий промежуток времени. Проверьте полученное письмо.
hMailServer — установка
В интернете очень мало информации о hMailServer. А та что есть — неполная. Я решил немного развеять облака над этой темой и написать цикл статей про этот почтовый сервер. Сегодня просто установим hMailServer.
- операционная система Windows Server 2016,
- версия БД MySQL 8.0.15,
- версия hMailServer 5.6.8 — Build 2431 (BETA).
Ссылки
Установка hMailServer
Подготовка к установке
.NET Framework 3.5
Для работы hMailServer требует .NET Framework 2.0. Этот пакет встроен в инсталлятор, но почему-то у меня выдаёт ошибку. Скорее всего потому, что в Windows Server 2016 .NET Framework 2.0 входит в .NET Framework 3.5. Чтобы не наступить на грабли, устанавливаем .NET Framework 3.5 перед установкой hMailServer.
В Server Manager > Add Roles and Features выбираем в Features галкой пункт .NET Framework 3.5 (includes .NET 2.0 and 3.0)
Next. Устанавливается пакет.
MySQL 8.0
Сами почтовые сообщения хранятся на жестком диске в формате 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, сразу и не понял где её брать.
Сегодня поставим hMailServer с настройками для MySQL 8.0.15, поскольку этот вариант БД настраивается только после пинка. Если MySQL у вас ещё не стоит — поставим:
hMailServer при установке сам создаёт схему «hmailserver». Для этого ему нужен пользователь и пароль. Чтобы не давать ему рута, можно заранее создать пользователя.
Пользователю нужно дать привилегии на схему «hmailserver».
libmysql.dll — 32-бит
Библиотека libmysql.dll не входит в пакет поставки hMailServer, её придётся заранее достать. Проблема в том, что MySQL 8.0 теперь поставляется в 64-битном режиме, и библиотека от него не подойдёт. Я нашёл нужную библиотеку в MySQL Connector C 6.1, который можно установить из дистрибутива с MySQL 8.0, там есть 32-битная версия libmysql.dll.
Дистрибутив
Качаем дистрибутив hMailServer:
Установка
Запускаем hMailServer-5.6.8-B2431.exe, лучше под админом.
Принимаем лицензионной соглашение. Next.
Выбираем папку установки. При выборе папки нужно помнить, что файлы писем будут храниться внутри. Next.
Устанавливаем сам почтовый сервер и средства администрирования. Next.
Выбираем Use external database engine (MSSQL, MySQL or PostgreSQL). Next.
Папка в стартовом меню, оставляем как есть. Внутри будут полезные ссылки:
Например, настройку БД после установки можно запустить потом отдельно hMailServer Database Setup.
Задаём пароль администратора hMailServer. Next.
Начинается процесс установки. После окончания установки автоматически запустится hMailServer Database Setup:
Первый шаг информационный. Next.
На втором шаге вы можете создать новую базу или выбрать ранее существующую. Я создаю новую:
На третьем шаге выбираем тип БД, я выбираю MySQL. Next.
Четвёртый шаг — указываем настройки сервера и базы MySQL. Next.
Пятый шаг. Здесь можно выбрать сервис, от которого будет зависеть hMailServer. Удобная штука. Выбираем сервис MySQL80(MySQL80). Теперь сервис hMailServer запуститься только после сервиса MySQL. Next.
На шестом шаге у инсталлятора уже достаточно данных для установки. Next.
Тут резко выясняется, что для работы с БД инсталлятору требуется 32-битная библиотека libmysql.dll. Её я достал уже в подготовительном шаге. Нам пишут, что этот файл нужно положить вот сюда: «C:\Program Files (x86)\hMailServer\Bin\libmysql.dll«. Засовываем библиотеку туда:
Установка БД завершена. Close.
Можно оставить галку для запуска hMailServer. Finish.
Входим под админом.
Указываем пароль администратора hMailServer. OK.
Известные проблемы
Can’t create database
В 6 шаге настройки БД показывается ошибка:
Can’t create database «hmailserver»; database exists.
Вы заранее создали схему hmailserver. Снесите её, инсталлятор сам создаст.
Не установили .NET Framework 3.5
Если инсталлятор не нашел .NET Framework 2.0, то он его попробует поставить:
И не сможет довести дело до конца.
Потому что нужно заранее поставить .NET Framework 3.5, в подготовительном этапе мы должны были это сделать.
Database is not available
Иногда инсталлятор открывает окно настройки БД под основным окном. Если базу не настроить — появится такая ошибка. Возможно также, что вы случайно закрыли настройку базу, можно запустить заново hMailServer Database Setup.