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

21.06.10

База данных - Инструменты администратора БД

Рассказ–инструкция о настройке бесплатного 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

 

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2976    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3531    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177744    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27378    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61317    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31110    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10984    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. iov 406 21.06.10 22:41 Сейчас в теме
хорошая статья но..... неформат... не тут... не поймут и не оценят... могут и заминусить...
4. Noy 1076 21.06.10 23:34 Сейчас в теме
(1) Не поймут - так и будет... хотя думаю админов-одинесников тут хватает. может кому и пригодится.
(3) Еще гугл дает такой-же сервис. Но тут как плюсы (низкая вероятность оффлайна, спам-фильтры, антивирусы, админу нифига делать не надо - плюс спорный) так и минусы (твоя почта у "дяди" - вопрос конфиденциальности, скорость внутренней пересылки, также не забываем о возможности использования скоростного почтового сервиса для обмена между приложениями/БД. У меня года три две 1С-ные базы обменивались данными через почту - причем отправка была в ОбработкаПроведения() - каюсь, давно переписал. Но как ни странно на скорость не сильно влияло)
2. support 4484 21.06.10 22:56 Сейчас в теме
Кто сказал, что не формат. Для таких статей целый раздел выделен, только мало их.
5. iov 406 21.06.10 23:39 Сейчас в теме
(2)(4) я не про админов - 1сников... А про злобных карликов пожирающих всех кто постит что-то банальное или не по теме 1с... А статья хорошая я её уже скопипастил в доки гугла...
автору никаких претензий статья отличная ... Но будет супер если это будет цикл статей...
3. Dimasik2007 430 21.06.10 23:18 Сейчас в теме
Хорошая статья.
Я решил не мучаться и воспользовался Яндекс-почтой для доменов (pdd.yandex.ru) :)))
6. ЗАК 21.06.10 23:43 Сейчас в теме
Интересно было почитать, спасибо ;)
7. Арчибальд 2706 22.06.10 07:27 Сейчас в теме
8. amel 22.06.10 09:22 Сейчас в теме
а как вы решаете вопрос с настройкой клиентов внутри сети ? какой клиент используете ?
9. Noy 1076 22.06.10 09:29 Сейчас в теме
(8) Последнее время отдаю предпочтение Mozilla Thunderbird. Но есть и Outlook и Outlook Express. Настройку клиента под IMAP опишу в следующей статье.
10. xzorkiix 34 25.06.18 15:20 Сейчас в теме
Нашел статью - искал что-то что может эмитировать почтовый сервер для тестов рассылки. Работает. 1С уверено шлет письма. А мне больше и не надо. Спасибо за наводку на https://www.hmailserver.com/ (для занятых: установка через далее\далее\далее..., внимательно пишем пароль администратора и запоминаем его, в форме настроек первая страница мастер создания домена - всё)
11. aston7777 13.12.19 13:26 Сейчас в теме
А данный почтовый сервис потянет где то 500 адресов? и вообще какие у него мощности?
Оставьте свое сообщение