Каталог решений - Не 1с-кой единой. Настраиваем собственный почтовый сервер.

Не 1с-кой единой. Настраиваем собственный почтовый сервер.

Не 1с-кой единой. Настраиваем собственный почтовый сервер.

В наличии

Рассказ–инструкция о настройке бесплатного SMTP/POP3/IMAP сервера под Windows. Попробую объяснить доступным языком.

Категория:

Описание

 

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

Ну что ж — поадмниним: в этой статье я хочу рассказать о настройке собственного почтового сервера.

Подготовительный этап

Зачем? Причины у каждого свои — поэтому приведу те, что важны для меня:

  • Быстрая скорость работы почты внутри предприятия
  • Полный и удобный доступ к администрированию почты
  • IMAP (мега удобно, жаль не многие хостеры/провайдеры предоставляют этот сервис)
  • Получить дополнительный опыт

Итак, для начала определимся с минимальными требованиями:

  1. Компьютер с Windows, одним интерфейсом смотрящий в инет
  2. Постоянный IP-адрес и вменяемый провайдер
  3. Зарегистрированный домен + 2 DNS сервера + возможность управлять записями DNS

Если по первым двум пунктам думаю все ясно, то по третьему пункту я вкратце опишу необходимый порядок действий. Для начала следует зарегистрировать домен — это можно сделать бесплатно, а можно и отдать регистратору. Я воспользовался вторым вариантом — нашел компанию (http://cyfra.ua), которая предлагает услуги по регистрации и поддержке доменов. Они весьма шустренько зарегистрировали мне домен в зоне kiev.ua, предоставили свои DNS, панельку для управления и даже почтовый хостинг (отказываться не спешим — он нам еще понадобится).

В качестве примера, я буду использовать домен firma.kiev.ua

Установка и настройка ПО

Дальше устанавливаем сам софт. Я выбрал hmailserver  — соответственно про него писать и буду. Понравился он мне по двум причинам: поддержка IMAP и бесплатность.

В процессе установки будет предложено выбрать сервис для хранения базы данных: либо встроенный SQL-lite, или же свой SQL-сервер. Рекомендую выбрать первый пункт, поскольку сами письма все равно хранятся в файлах и требования к серверу БД не такие как у 1С Wink. После установки нужно проверить настройки файерволла — должен быть открыт порт 25 и 110/143 — если вы хотите получать почту, находясь не только в офисе.

Основные моменты в настройке:

Заходим в Settings — Protocol и галочками отмечаем необходимые нам службы (все три: SMTP,POP3,IMAP). В настройка SMTP заполняем

Max message size (максимальный размер сообщения — у меня 20Мб),

Number of retries — 24, minutes between every retry — 30 (сколько раз и с какой частотой пытаться доставить почту),

Local host name — mail.firma.kiev.ua (сам компьютер может называться как-угодно)

SMTP Relayer — оставляем пустым

Bind to local IP address — оставляем пустым

Затем Advanced — IP ranges — там добавляем записи:

LocalNet — 192.168.0.0 — 192.168.0.255 (естественно ставим свои), и галочками снимаем доступ Allow deliveries from External to External e-mail addresses и Require SMTP authentication External to local e-mail addresses

Internet — 0.0.0.0 — 255.255.255.255 с такими же настройками

В Advanced — TCP/IP ports проверяем что бы в качестве IP адресов стояли 0.0.0.0 (порты стандартно 23/110/143)

Ну и конечно же добавляем домен — firma.kiev.ua (настройки можно оставить по умолчанию) и в нем хотя бы пару аккаунтов (если у вас есть Active Directory — можно импортировать из него), настройки там интуитивно понятны. Теперь можно и потестировать работу почты внутри сети — должно все работать.

Настройка DNS…

Но к сожалению это только верхушка айсберга… во всем мире ведь никто не знает, что мы такие молодцы и у нас свой сервер — нам надо «засветиться». Для этого в панели управления доменом добавляем (изменяем если уже есть) такие записи:

A mail.firma.kiev.ua 222.222.222.222 (тут наш постоянный внешний IP — теперь наш комп имеет нормальное имя во всемирной паутине)

MX firma.kiev.ua mail.firma.kiev.ua 10 (назначаем «старшего» по почте)

Изменения вступят только через некоторое время! Проверить легко — обычным пингом на mail.firma.kiev.ua — рано или поздно мы начнем пинговать свой собственный сервер.

…и прочие танцы с бубном

В теории это все: сервер запустили, всем сообщили — ждем почту / отправляем свою. На практике большую часть почты, которую мы хотим кому-то послать, другие серверы будут заворачивать. Ответ прост — СПАМ. На сегодняшний день есть много способов как по рассылке спама, так и по борьбе с ним. Один из первых способов борьбы со спамом — это обратный DNS-запрос. Объясню на пальцах:

Например отправляем мы письмо с нашего сервера на адрес лалала@mail.ru. Наш сервер соединяется с сервером мейл.ру и говорит: Привет, я mail.firma.kiev.ua, хочу послать тебе письмо. Майл.ру делает DNS-запрос — какой адрес у сервера mail.firma.kiev.ua — получает ответ 222.222.222.222 (это прямой запрос), но этого ему мало — он посылает запрос вашему провайдеру — «кто такой 222.222.222.222» и получает ответ что-то типа «222_static.ads.mysip.net» — налицо несоответствие и наш сервер посылают куда подальше (вдруг спамер). Что бы этого не случилось — нам нужно сообщить нашему провайдеру, что мы не просто «222_static.ads.mysip.net», а «mail.firma.kiev.ua» и он внесет соответствующую запись в свои настройки (PTR запись).

Все? Фиг там! Готовьтесь как минимум к еще одной проблеме. Так как вы со своим сервером — новый член почтового сообщества, то на первых порах к вам будут относится с большим подозрением. Протокол SMTP (тот, на котором сервера общаются между собой) придуман много лет назад и все стандарты полностью описаны в соответствующей документации. Но соблюдают их ничем не лучше, чем  мы соблюдаем рекомендации 1С по написанию обработок Wink. Каждый администратор почтового сервера сам себе начальник и сам устанавливает условия работы своего сервера — от кого принимать, кому отказать и так далее.

И что делать? Нужно анализировать ответы других серверов (сообщения типа MAILER-DAEMON и тп) — в большинстве случаев проблема будет описана в сообщении — почему чужой сервер не захотел принимать от вас сообщения.

Возможные варианты (не дословно, а по смыслу):

  • Ваш сервер в спам-списке — в самом сообщении обычно указывают в каком именно списке ваш сервер засветился. Для решения проблемы нужно проверить свою сеть на наличие вирусов, затем зайти на указанный сайт и заполнить заявку на исключение вашего сервера из списка
  • Ваш сервер/домен отсутствует в списке доверенных и тп — скорее всего удаленный сервер очень жестко настроен — разрешается доступ только определенным серверам/доменам. Для решения нужно связаться с администратором этого сервера, что бы он внес ваш сервер в «белый» список.
  • Временная ошибка, «перезвоните попозже» — тут два варианта — чужой сервер действительно перегружен/занят/пошел покурить, или же это «проверка на вшивость» — так называемый серый список. Это еще один способ борьбы со спамерами — суть такова: по правилам каждый почтовый сервер должен предпринимать попытки доставить почту через определенные промежутки времени (боюсь быть не точным — каждые полчаса в течение трех суток). Естественно, что спамер вряд ли будет это делать, соответственно настоящий сервер таки добьется своего и письмо доставит. Такие проверки устраивают единоразового для каждого нового сервера или же с какой-то периодичностью. Решение: ничего не делать — просто ждать (при условии, что вы верно внесли настройки описанные выше — их достаточно для преодоления большинства проверок типа «серый список»). Дольше всего мне пришлось ждать «разрешения» от ukr.net — благо они в ответ дают ссылку http://www.ukr.net/mta/std3.html, где все подробно разжевано.
  • Ну и всевозможные ошибки, связанные с неправильной настройкой сервера, DNS или заголовков письма — тут нужно разбираться в каждом случае отдельно.

Есть путь и проще — достаточно пересылать всю исходящую почту на SMTP-сервер провайдера (настройка SMTP Relayer) и все эти проблемы лягут на провайдера, но мы ведь не ищем легких путей 😉

 

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

 

P.S. Как маленький бонус — для доступа к корпоративной сети извне по RDP/VPN/etc теперь не надо набирать IP-адрес — ведь у нас есть собственное имяWink

 

has been added to your cart:
Оформление заказа