Почтовый сервер MailPlus на Synology NAS

Всем привет!!!

Сегодня я расскажу как настроить свой собственный почтовый сервер на базе Synology Mail Plus.

Я долго не хотел настраивать почтовый сервер, но когда настроил понял, что это очень легко. Настройку почтового сервера можно разделить на два этапа: Настройка самого сервера и настройка DNS записей для почтового сервера. Так как одно без другого не будет работать.

Настройка Synology MailPlus сервера

Для начала его нужно установить через центр пакетов и указать интерфейс, на котором будет работать почтовый сервер, настроить домен и его MX запись, а потом выбрать создать новый сервер или импортировать настрйоки с существующего. Это можно сделать и потом.

Почтовый сервер MailPlus на Synology NAS

00:00 – Вступление
01:00 – Сравнение Mail и MailPlus
03:22 – Настройка MailPlus сервера
21:21 – Настройка DNS
29:08 – Интерфейс MailPlus клиента
35:01 – Заключительная часть

Порты Synology MailPlus сервера

Что бы сервер мог получать почту нужно открыть SMTP порты на фаерволе и пробросить их на роутере NAT. А если вы хотите подключаться к серверу сторонними клиентами почты такими как например Thenderbird или The Bat то вам нужно открыть порты POP3 или IMAP на фаерволе и и пробросить их на роутере NAT.

Список портов для Synology Mail Plus сервера

Настройка DNS

Для начала нужно настроить MX запись в DNS. MX запись это тип DNS-записи, предназначенный для маршрутизации электронной почты с использованием протокола SMTP. Простыми словами, что бы другие сервера могли посылать вам почту, то есть эта запись нужна для входящей почты.

По мимо этого у этой записи есть еще поле приоритета от 1 до 255. Чем меньше число, тем выше приоритет.

mail.вашдомен.ru MX 10

Можно указать несколько MX записей с разным приоритетом, для резервирования почтовых серверов. Например, если первый сервер не примет почту или будет неисправен, то сервер отправитель отправит письмо следующему по приоритету серверу. Таким образом вы не потеряете входящие письма.

А вот для настройки исходящих писем требуется несколько других записей в DNS.

Очень неплохо настройка DNS для почтового сервера описана в статье на хабре Настройка DKIM/SPF/DMARC записей или защищаемся от спуфинга / Хабр (habr.com) Я не буду расписывать все, что там сказано, а приведу лишь конкретный пример.

  • Пример обычной SPF записи является:

вашдомен.ru TXT "v=spf1 a mx ~all"

Как я понимаю абсолютно все публичные сервера проверяют эту запсь SPF поэтому она обязательна. А вот DKIM уже опционально, но если DKIM будет настроено, то вероятность доставки вашей почты возрастет в разы.

  • Примером записей является DKIM:

mail._domainkey.вашдомен.ru TXT "v=DKIM1; k=rsa; t=s; p=<публичный ключ>"

Публичный ключь можно сгенерить так: Домен > Выбираем нужный домен > Редактировать – Общие > Дополнительно. Нажимаем кнопку создать ключь и вставляем этот ключь в DNS запись.

*На скрине выше ошибка, префик в этом поле указывается без точки и без domainkey!!!!
  • Так же обязательной записью является PTR. Эту запись может сделать только ваш провайдер на статичном IP адресе.

Для проверки записи обратного DNS можно воспользоваться сервисом 2whois.ru – сервис PTR, проверка доменов, проверка работы сайта

Решение проблемы доставки почты

Если у вас NAS на динамическом IP как у меня, то отправлять почту напрямую с вашего сервера вы сможете только на Яндекс. Все остальные почтовые сервера будут отклонять ваши письма вот примерно с таким сообщением как mail.ru:

mail.ru>: host mxs.mail.ru[94.100.180.31] said: 550 Sorry, we do not
    accept mail from hosts with dynamic IP or generic DNS PTR-records. Please
    get a custom reverse  DNS name from your ISP for your host 188.232.167.165
    or contact abuse@corp.mail.ru in case of error (in reply to end of DATA
    command)

Для решения этой задачи, нужен либо статичный IP адрес и прописана запись PTR у DNS провайдера, либо использовать SMTP Raley. Как правило они платные, но встречаются и с бесплатными тарифами. Вот парочка таких mailjet.com, smtp2go.com и dnsexit.com. Я выбрал первый, там 6000 писем в месяц и 200 в день бесплатно. На каждом из них есть инструкция как настроить DNS записи, что бы почта доставлялась без проблем. Сама же настройка на сервер Mail Plus выглядит очень просто. Нужно задать сервер, порт, логин и пароль, после чего почта будет доставляться как часы. Мне для дома, такого бесплатного более чем достаточно.

Переходим в Доставка почты > Доставка и заполняем соответствующие поля, взяты с личного кабинета сайта вашего SMTP Raley:

Дополнительные материалы, которыми я пользовался

У этой записи 32 комментариев

  1. Павел

    Добрый день.
    Не совсем понятно про префикс селектора DKIM – это просто набор какой-то цифр\букв, я так понял, просто рандомная строчка небольшая, являющаяся идентификатором?
    У меня почему-то не взлетает DKIM, гугл пишет FAIL для моего домена.
    Настраивал так:
    в настройках ДНС зоны создаю TXT запись, в которой вместо поддомена указываю mail._domainkey.mydomain.ru а в значении уже v=DKIM1; k=rsa; t=s; p=
    на синолоджи прописываю в идентификаторе mail._domainkey и генерирую ключ, который потом вставляю в днс зоне.
    в итоге получаю FAIL, не могу понять где я ошибся.
    смотрел на сайте синолоджи мануал по DKIM, вроде все так же, но почему-то не проходит проверка DKIM.
    может я ошибся в настройках зоны, что-то куда-то не дописал, подскажите пожалуйста на вашем примере как делаете.

  2. Это не просто набор, это открытый ключ. Сервер каждое письмо добавляет ключ, который получатель через dns может расшифровать, таким образом это работает как с браузером и ssl. Я ошибся в видео, в настройках MailPlus укажите просто mail без продолжения, а в dns уже с продолжением как показано.

  3. Александ в видео вы говорите, что не разобрались как добавлять пользователей, я если честно тоже. Логика подсказывает что почто должна выглядеть имя_пользвателя@имя_домена (я вроде все настроил но не работает) MailPlus не подходит по причине большой стоимости дополнительных лицензий. Знакомы admin посоветовал настроить обычный mail server и прикрутить к нему Roundcube Webmail, что думаете по этому поводу? Может видео снимите про эту связку.

    1. да вы правы, когда я тестировал обычный бесплатный сервер, то почта пользователя была именно такой. У обычного почтового сервера все те же настройки. Клиент тоже есть бесплатный, он как раз на основе Roundcube Webmail. Он есть в центре пакетов синолоджи. Но я думаю и я бы так сделал использовать внешнею программу например Thunderbird. Идея снять ролик про обычный почтовый сервер есть у меня, но пока сильно загружен и когда реализую не могу сказать.

  4. Семен

    Добрый день,
    Спасибо за видео)
    У меня не получается настроить отправка письма сразу выдает ошибку (Ошибка сервера: ‘450 4.7.1 : Recipient address rejected: Temporary internal error’)
    Я письма получаю но не могу отправит((

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

  5. Алексей

    Спасибо за инструкцию

  6. Александр

    Александр, я извиняюсь, может быть задам глупый вопрос, но мне не понятно, при настройке DNS, где нужно прописать записи выделенные синим шрифтом и как это сделать? Благодарю за понимание.

  7. NSGrid

    Поясните пожалуйста PTR-запись, про которую вы пишите, что она должна вноситься через провайдера, она нужна для получения почты или для отправки ее? Так как я внес такую запись через управление DNS провайдера, но не интернет, а хостинг провайдера (у меня РУ-ЦЕНТР). И почта у меня отправляется с сервера Синолоджи (и на яндекс доходит и на gmail), а вот прием не работает, почтовый робот яндекса пишет:
    Host or domain name not found. Name service error for
    name=mail.мой-сервер.ru type=AAAA: Host not found

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

    1. PTR нужна для отправки почты, это говорит другим серверам, что вы не спамер и вашему ип можно доверять. Для получения почты нужна MX запись в DNS вашего домена, которую вы делаете сами в настройках DNS хостинга. Видимо у вас нет этой самой MX записи.

      1. NSGrid

        “mail.вашдомен.ru MX 10”

        Может я что-то накосячил в mx-записи? Как точно нужно ее вести, ведь вроде бы просто, не результата нет?

        Возьмем для примера, что мой домен ivan.ru

        В ДНС-редакторе Ру-центра такие параметры:

        Хост Name: сюда я вводил @ также пробовал mail

        Тип: MX (тут понятно)

        Значение: оно состоит из двух параметров:
        Priority: 10 (здесь тоже понятно – приоритет 10)
        Mail Relay: mail.ivan.ru. (кстати, у вас не указано, но в интернете пишут, что надо именно с точкой в конце), но я пробовал и с точкой и без точки
        И все равно входящая почта не приходит. IP у меня статический. Еще я пробовал делать A-записи с хостом @ так и с хостом mail записи и указывать в значении свой статический IP – тоже не помогало, потому как в других инструкция пишут, что и A-записи надо настраивать

        Подскажите плз, как точно прописать MX запись в управлении DNS Ру-центра?

      2. NSGrid

        Закралось у меня тут подозрение, а не в провайдере интернете ли дело? Написал в поддержу и мне ответили такое:
        Мы блокируем следующие порты:
        TCP/25 – предотвращение спам-активности;
        TCP/135-139, TCP/445 и UDP/135-139 – Обеспечение безопасности систем, работающих под ОС MS Windows;
        TCP/23, TCP/161, UDP/69 и UDP/161– Защита клиентского оборудования;
        TCP/UDP: 5555, 7547, 30005, 8999, 6264, 3000, 58000, 8099, 30006, 8001 – Обеспечение безопасности систем

        Я переспросил, вы блокируете даже тем, кто использует услугу статический IP? Сказали, да всем. Как вы считаете, может из-за этого почта не доходит и что тогда делать?

        1. Попросите их разблокировать 25 порт, так как по этому порту как раз и приходит почта. на статичных адресах они должны это делать.Мне открыл эти порты мой провайдер.

          1. NSGrid

            не хотят, говорят не положено, какой-то дебильный провайдер Ростелеком-Москва оказался причем сказали и на вход и на выход заблокировано, какие могут быть варианты решения? в интернете пишут, что в подобных случаях надо использовать порты, которые используются для защищенного соединения типа 465/587 SMTP, 143/993 IMAP, это сможет помочь? но я так понимаю, что тогда надо иметь SSL-сертификат для домена?
            и не могли бы вы глянуть коммент еще выше, там где про MX запись, я правильно ее вношу?

          2. Александр Linux

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

          3. NSGrid

            Удивительная вещь, сейчас почти полчаса висел на телефоне техподдержки Ростелекома, там даже переключили на какого-то специалиста, вроде как более высокого уровня, она первый делом захотела подключиться к роутеру, чтобы проверить, что там за порты могли быть заблокированы, потом после моих пояснений поняла, что роутер у меня мой личный, а квартиру приходит просто Ethernet кабель, который вставляется в роутер. В таком случае девушка не поняла, а в чем тогда проблема? Если роутер личный и IP статический, то никаких блокировок портов не должно быть (в принципе у меня так всегда и было на других провайдерах, когда жил в других местах). Она пояснила, что порты блокируются на операторских роутерах. Тогда я стал ее спрашивать, а не может ли быть такое, что это еще выше где-то блокировка, типа на каком-то операторском магистральном оборудовании, типа политика безопасности? Она долго недоумевала, но все же согласилась сделать какой-то запрос “безопасникам”, так как решили, что мол, может из-за безопасности что-то есть такое все-таки (но опять-таки непонятно, если есть услуга статического IP, то смысл в этой услуге при закрытых портах), в общем запрос сделала, подожду ответа. Но что-то пока мне вообще непонятно, что это может быть такое? Тем более, я в интернете везде вижу, что при блокировке 25-го порта не должна работать исходящая почта, а у меня исходящая работает, как я уже писал. Только с входящей проблема. Но прям очень хочется разобраться.

          4. Александр Linux

            Найди сервис в интернете по проверке открытых портов и проверь открыт он у тебя или нет. Порты всегда блокировали, особенно 25, но по передаче, а по приему нет. Но после определенных событий и массовых атаках, все крупные провайдеры навешали дополнительные фильтры на порты. Но на статичный ип нет, тем более они сами прописали тебе PTR запись, смысл делать эту запись, если порт заблокированный.

  8. NSGrid

    “Найди сервис в интернете по проверке открытых портов и проверь открыт он у тебя или нет.”
    Нашел парочку, все они показывают, что 25-й порт у меня закрыт. Но, правда, они тоже все какие-то странные, например, они показывают, что у меня и 5060 порт закрыт, хотя он у меня проброшен и используется PBX (Yeastar S20) для IP телефонии и голос ходит нормально.

    Также отзвонились от провайдера, сказали, что 25 порт блочат, и еще ряд портов, вот подробнее – https://msk.rt.ru/support/internet/setting/locked-port.
    Пояснили, что это у всех так и неважно статический IP или нет, типа политика безопасности Ростелекома.

    “Но на статичный ип нет, тем более они сами прописали тебе PTR запись, смысл делать эту запись, если порт заблокированный.”
    Провайдер интернета Ростелеком не прописывал мне RTP-запись, я ее прописал сам в панели управления DNS-хостингом Ру-Центра, где у меня домен зарегистрирован. Но я не проверял, работала ли отправка или прием почты до внесения этой записи. Просто после того как я ее прописал, я попробовал отправить почту и отправка сразу работала. А вот входящая почта, как не работала, так и сейчас не работает.

    Но на счет отправки у меня еще версия, а может может отправка идет через другие порты? Сканер показал, что у моего домена, в частности, открыты порты 80, 143, 443, 465, 587, 993. То есть это значит защищенное входящее подключение поддерживается.

    Или еще объяснение, у Ростелекома написано “блокирует во входящем абонентском трафике”. Это значит, вероятно, исходящий трафик не блокируется.

    Интересно, а если на домен получить SSL-сертификат, может тогда входящая почта все же будет приходить, подключаясь к моему серверу по защищенному соединению?

    1. PTR запись может сделать только провайдер, так как он владеет IP адресом. сервисы проверяют TCP порты, а PBX использует UDP порты. 465 и 587 порты используются для передачи почты от клиента серверу, а между сервером и сервером используется 25 порт.Ростелеком официально блокирует все эти перечисленные порты, которые он сказал и они открывают их только для юридических лиц. Вам выход только один: менять провайдера.

      1. NSGrid

        а почему тогда работает отправка почты, если провайдер не делал PTR запись? причем, я смотрел заголовки входящего письма с моего сервера, там указан адрес моего сервера вида mail.мой_домен.ru и мой статический IP, то есть явно отправка шла напрямую с моего сервера. Вот строчка из заголовкой такого письма, которое было отправлено с моего почтового сервера на другую личную почту на яндексе:
        Received: from mail.мой_домен.ru (broadband-мой внешний IP.ip.moscow.rt.ru [мой внешний IP])

        1. broadband-ВашIP.ip.moscow.rt.ru – это PTR запись не вашего же домена? ну явно не вашего, а Ростика. Почему доставка почты работает? не знаю, но предполагаю, что данный пул у почтовый сервисов разрешен.

  9. Евгений

    Добрый день. А каким образом можно установить “простой” пароль пользователю. При создании нового пользователя для почты, программа не даёт его создать из-за “простого” по её мнению пароля. Можно ли как-то убрать это ограничение или принудительно установить тот пароль который нужен. Спасибо.

    1. Можно, но не нужно. Панель управления – пользователи – Дополнительно – убрать галочку “Применить правила надежного пароля”

  10. Oleg

    Здравствуйте, сделал SMTP на dynг, отправлять получаеттся, а не принимает, может подскажете где копать?

      1. Oleg

        смог все настроить
        Когда тестовое с gmail себе отправил сообщение, внутри письма еще плашка была “Данное сообщение электронной почты может быть подозрительным. Будьте осторожны при ответе или использовании ссылок и вложений, а также проверьте отправителя gmail.com.”

        Из-за чего такое?

          1. Oleg

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

          2. Александр Linux

            mailplus клиент это по факту обычная веб страница в браузере, значит и уведомления настраиваются как и обычно в браузерах. Так же там в настройках есть (самого mailplus клиента) меню уведомления, там можно что-то почерпнуть для этой темы.

  11. Oleg

    Главный минус что нашел в mailplus, нету 2fa, даже если в самом NAS он есть, при подключении к почте через тот же mail.ru достаточно ввести почту и пароль и больше ничего не запросит

  12. Настройка по видео инструкции на удивление прошла гладко, отправка писем – через SMTP Relay, все заработало с первого раза!
    Мой интернет провайдер предоставляет реальный IP плюс корректно прописанную PTR но блокирует 25 порт, как я понимаю это не должно являться проблемой, так как почта на внешние ящики должна отправляться через защищенное соединение и порт 587 или 465
    Я сделал нужные DNS записи у регистратора.
    Сервис mxtoolbox – показывает по всем пунктам зелёные галочки.
    Почта по внутренним ящикам – работает!
    Почта на внешние адреса – висит в очереди с комментарием connect to mx-aol.mail.gm0.yahoodns.net[67.195.228.86]:25: Connection timed out
    Как я понимаю что сервер пытается отправить почту через 25 порт, который закрыт у провайдера.

    Какие изменения нужно внести чтобы сервер начал отправлять сообщения через 587 порт?

    1. по 25 порту идет пересылка с сервера на сервер, это никак не изменить. А вот если настраивать через SMTP релей то можно, в Доставка почты, доставка. В этом месте один из вариантов такой реализации. Но входящая тоже требует 25 порта. тот же гугл пришел на 25 порт. Я решал эту проблему на оракловских серверах тоже через релей. То есть в mx записях первым указывался релей, а релей потом присылал мне на порт 2525, затем на нате я прокидывал 2525 на 25. Это костыли и требуют дополнительного внешнего сервера. Тут интересно другое. Если провайдер дал вам статику, да еще и прописал обратную запись PTR то зачем он это сделал, если порт 25 закрыт. Обратитесь к нему, статику и PTR делают именно для почты, больше эта платная услуга и не нужна вовсе. Давите на провайдера, пишите ему официальные письма, так дела не делаются. Мне к примеру после начала СВО закрыли все порты, но после моего обращения их в индивидуальном порядке открыли, а у меня даже статики нет.

Добавить комментарий

пять × 3 =