Как настроить почтовый сервер. Настройка почтовых программ - ключевые принципы настройки любого почтового клиента Как поднять почтовый сервер

Для желающих попробовать свои силы в самостоятельной установке и настройке почтового сервера, мы рассмотрим процесс пошаговой установки почтового сервера на базе сервера Windows Server 2003/2008/ и программного обеспечения hMailServer; пройдем этапы организации и настройки сервиса DNS в рамках того же сервера, и добавлении своего почтового домена на сервер.

В материале используется программное обеспечение hMailServer версии 5.0-B305.

Установка почтового сервера

Скачиваем программное обеспечение почтового сервера по ссылке:

Запускаем скачанную программу. Первый диалог, это диалог приветствия, нажимаем Next.

Следующий шаг это лицензионное соглашение:

Выбираем путь для инсталляции программы:

Выбираем устанавливаемые компоненты, выбираем все:

Выбираем встроенную базу данных:

Вводим название в меню пуск:

Проверяем введенные данные и соглашаемся:

Задаем пароль для администрирования сервера:

После того как все будет установлено, мы можем приступить к администрированию, находится в Start Menu. Первое, что мы увидим это коннект диалог. С помощью этой программы мы можем подключить к любому hMailServer. Мы будем соединяться с localhost, нажимаем connect, в диалоге для ввода пароля вводим пароль, который мы задали при инсталляции.

Первое, что мы должны увидеть это вкладка Wellcome, выбираем здесь опцию Add Domain..., вводим название нашего домена bestdomain.com и выбираем Save. Наш почтовый домен активен и готов к работе. Теперь на нужно добавить пользователя, раскрываем вкладку Domains, далее раскрываем вкладку bestdomain.com, далее выбираем вкладку Accounts.

Здесь мы можем добавлять, удалять и редактировать пользователей. Выбираем кнопку Add...

Вкладка General - здесь задается имя пользователя, пароль, квота ящика и права.
Вкладка Auto-reply - здесь настраивается автоответчик для конкретного пользователя.
Вкладка Forwarding - здесь настраивается пересылка почты для конкретного пользователя.
Вкладка Signature - задается подпись.
Вкладка External accounts - возможность забирать почту с других серверов для конкретного пользователя.
Вкладка Rules - настройка всевозможных фильтров.
Вкладка Active Directory - при необходимости возможность работы с соответствующей названию службой.
Вкладка Advanced - задание фамилии и имени пользователя, администрирование его почтовых папок.

Вкладка домена Aliases - позволяет настраивать алиасы для конкретного домена, вкладка домена Distribution List позволяет создавать листы рассылки.

Есть еще другие глобальные вкладки Rules настройки глобальных фильтров, Settings настройки протоколов, логов, подключение антиспама и антивируса.

Различные средства по обслуживанию сервера.

В фаерволе должны быть обязательно разрешены порты SMTP 25, POP3 110, IMAP 143.

При настройке почтового клиента вы должны помнить, что имя пользователя для POP3, IMAP, SMTP задается, как имя@bestdomain.com.

Настройка DNS сервера Windows 2003/2008.

Start -> Control Panel -> Add or Remove Programs

В открывшемся окне выбираем Add/Remove Windows Components должен запустится мастер Windows Components Wizard. Там становимся на пункт Networking Services выбираем Details отмечаем Domain Name System (DNS), далее, OK и Next, далее может потребоваться дистрибутив с инсталляцией Windows (конкретно папка i386) и перезагрузка системы.

После установки мы можем приступать к настройке DNS:

Start -> Administrative Tools -> DNS

Раскрываем дерево с названием компьютера -> щелкаем правой кнопкой на Forward Lookap Zones -> New Zone

В открывшемся мастере выбираем Next -> Primary Zone -> Next -> Вводима название зоны bestdomain.com -> Next -> соглашаемся с названием файла Next -> Do not allow dynamic updates -> Next -> Finish

Создаем все необходимые домены, первый это рут домен, название домена пустое, IP Address 100.100.100.100 -> Add Host. Далее создаем все нужные хосты, вводя в поле Name значения www, ns1, ns2, mail IP Address 100.100.100.100 -> Add Host. В конце выбираем Finish.

Следующим шагом мы должны отредактировать настройки нашей зоны, щелкаем правой кнопкой по названию созданного домена и выбираем Properties -> в открывшемся диалоге выбираем вкладку Name servers -> Удаляем автоматически созданный кнопкой Remove -> Добавляем два name сервера ns1 и ns2 кнопкой Add -> Вводим имя сервера и его IP.

Следующая вкладка Start of Authority (SOA) вписываем все указанные значения, после всех изменений домена сейчас и в будущем не забываем делать Increment для зоны, серийный номер увеличивается на 1.

Следующим шагом добавляем MX для работы почты, также как и для создания хостов, выбирам правой кнопкой New Mail Exchanger (MX).

Имя домена оставляем пустым, вводим ДНС имя почтового сервера и приоритет 10 и нажимаем OK.

ДНС настроен и готов к работе!

Электронная почта - сервис, позволяющий обмениваться через компьютерную сеть электронными сообщениями.

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

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

Пользователи, с помощью программы - почтового клиента (Outlook Express, Thunderbird и др.), могут создавать письма, отправлять их на сервер и забирать почту из своих почтовых ящиков на сервере.

Общение сервера и клиента происходит по специальным почтовым протоколам - Simple Mail Transfer Protocol (SMTP) - при передаче писем на сервер и Post Office Protocol v.3 (POP3) - при приеме писем из почтового ящика. Подключение клиентов к серверу происходит через определенные порты. Для SMTP стандартным является порт 25, для POP3 - порт 110.

Существуют различные почтовые сервера. В качестве примера рассмотрим установку и настройку почтового сервера Courier Mail Server .

Courier Mail Server - это почтовый сервер (сервер электронной почты) под Windows для локальных сетей. Он поможет вам быстро организовать обмен электронной почтой в локальной сети и в Интернете. Courier Mail Server не требует установки в системе. Достаточно загрузить архив с программой и распаковать ее в любую папку на жестком диске компьютера, который будет работать в качестве почтового сервера.

Бесплатную версию Courier Mail Server 1.56 вы можете скачать с сайта http://courierms.narod.ru/ . Более функциональную Courier Mail Server 2.05, но уже платную версию (1650 руб. за 10 почтовых ящиков, ограничение демо-версии - только 3 почтовых ящика), можно найти на сайте http://www.courierms.ru/ .

В этом пример мы будем настраивать и использовать бесплатную версию почтового сервера Courier Mail Server 1.56.

Достоинства Courier Mail Server 1.56:

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

Программа работает под управлением ОС Windows 9x/ME/NT/2000/XP. Настройка программы довольно проста и доступна обычному пользователю.

Примечание : в примере все компьютеры сети работают под управлением ОС Windows XP. Все компьютеры в сети одинаковые (нет никаких выделенных компьютеров-серверов). Компьютер учителя имеет имя server, компьютеры учеников pc01, pc02 и т.д. Все программное обеспечение, рассматриваемое в этом разделе, ставится в папку C:\MyServers\usr\local\. Если у вас компьютеры имеют другие имена (а это скорее всего так:)), то учитывайте это при настройке ПО. Так же вы можете выбрать и другу папку для установки программы.

CMS поставляется в виде zip-архива, содержащего исполняемый файл и документацию. Для установки сервера создайте папку, в которой он будет функционировать, извлеките файлы из архива в эту папку и запустите приложение CourierMS.exe .

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

Courier Mail Server может запускаться как стандартное приложение, а также в качестве службы Windows. Для запуска в качестве службы Windows запустите CMS и в меню Настройки выберите команду Запускаться службой. При этом произойдет регистрация службы Courier Mail Server в системе.

Если запуск произошел нормально, на экране появится главное окно сервера, а в системном лотке (System Tray) рядом с часами - его значок .

Если в главном окне появились сообщения о запуске SMTP и POP3 серверов и нет сообщений об ошибках, можете приступить к настройке сервера.

Следующий этап настройки почтового сервера сводится к вводу локальных доменов. Для этого сделайте двойной щелчок по слову "домен" и откроется вкладка для его настройки. Введите имя компьютера , где будет работать почтовый сервер. В нашем примере это server . Если у вас имя компьютера, например, pc11 , то введите это имя.

Любая серверная программа подразумевает ввод пользователей, которые будут ею обслуживаться. Сделайте двойной щелчок по "учетные записи" и откроется редактор учетных записей. Редактор учетных записей предназначен для ведения списка локальных пользователей (учетных записей) сервера. При создании учетной записи создается, также, соответствующая папка почтового ящика. При удалении учетной записи папка почтового ящика удаляется автоматически со всем содержимым. При первом запуске сервера автоматически создается учетная запись postmaster.

Создайте необходимое количество учетных записей для своих пользователей. Достаточно создать по одной на каждый компьютер ученика и учителю, хотя можете создать и каждому ученику отельную учетную запись.

Каждая учетная запись имеет следующие параметры:

Реальное имя: имя владельца почтового ящика.

Имя почтового ящика: наименование почтового ящика. Оно же является и именем пользователя при подключении к серверу. В имени ящика не используйте русские буквы и специальные символы, т.к. некоторые почтовые программы работают с ними некорректно. Если имя ящика pc 01 , локальный домен server , то адрес электронной почты данного пользователя pc 01@ server .

Пароль: пароль для подключения к серверу.

Другие параметры мы менять не будем.

У нас в классе 11 компьютеров (вместе с учительским) поэтому мы создали 11 учетных записей.

Ограничить доступ к почтовому серверу можно используя IP фильтр. Укажите тот диапазон IP адресов доступ которым разрешен. У нас это 192.168.1.1-192.168.1.11 (Про IP адреса и их настройку читайте в других статьях этого ). В ваше школе этот диапазон может быть другим, например, тот что выдал вам провайдер Интернета (ну это уже другая статья).

Все! Почтовый сервер можно использовать. Про настройку и использование других возможностей программы вы можете прочитать в справке (на русском!).

Вы спросите: "а как же его использовать? Как отправлять и получать письма?". Ответ простой. Письма мы будем отправлять и получать с помощью программы - почтового клиента (Outlook Express, Thunderbird и др.). А о том как это сделать читайте в следующей статье: " ".

, | |

Запуская сайт или веб-приложение, пользователи, как правило, настраивают и почтовый сервер для обработки входящей и исходящей почты. Однако зачастую наличие собственного почтового сервера является серьезной уязвимостью для проекта согласно целому ряду причин. В целом, настройка и поддержка почтового сервера – сложная и трудоёмкая задача, отнимающая много времени.

Данное руководство охватывает множество причин, способных удержать вас от использования почтового сервера, а также поможет подобрать альтернативные варианты.

Сложности почтовых серверов

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

Компоненты, необходимые каждому веб-серверу:

  • Агент пересылки сообщений (mail transfer agent, MTA);
  • Агент доставки сообщений (mail delivery agent, MDA);
  • Сервер IMAP и/или POP3.
  • Спам-фильтры;
  • Антивирусы;
  • Веб-почту (webmail).

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

Рассмотрим необходимые компоненты более подробно.

Агент пересылки сообщений

Агент пересылки сообщений (или MTA), обрабатывающий трафик протокола SMTP (Simple Mail Transfer Protocol), отвечает за:

  • отправку сообщений пользователей на внешний MTA (то есть на другой почтовый сервер);
  • получение сообщений от внешнего MTA.

Примеры программ MTA: Postfix, Exim, Sendmail.

Агент доставки сообщений

Агент доставки сообщений (или MDA), который иногда называют локальным агентом доставки (Local Delivery Agent, или LDA), извлекает сообщения из MTA и помещает их в почтовый ящик соответствующего пользователя.

Существует огромное множество форматов почтового ящика (например, mbox и Maildir). Каждый MDA поддерживает определенный формат почтового ящика. Формат почтового ящика определяет способ хранения сообщений на почтовом сервере, что, в свою очередь, влияет на использование диска и скорость доступа к почтовому ящику.

Примеры программ MDA: Postfix и Dovecot.

Серверы IMAP и/или POP3

IMAP и POP3 – это протоколы, используемые почтовыми клиентами, то есть, любое программное обеспечение для чтения и извлечения сообщений. Каждый протокол имеет свои сложности; в данной статье рассмотрены некоторые их ключевые различия.

IMAP – более сложный протокол, позволяющий, помимо прочего, поддерживать несколько клиентов для подключения к индивидуальному почтовому ящику одновременно. Сообщения электронной почты копируются на клиенты, а оригинал остается на почтовом сервере.

Более простой протокол POP3 перемещает сообщения электронной почты на компьютер почтового клиента (как правило, по умолчанию это локальный компьютер пользователя).

Примеры серверов IMAP и POP3: Courier, Dovecot, Zimbra.

Спам-фильтры

Цель спам-фильтра — уменьшить количество входящего спама или нежелательной почты, попадающей в почтовые ящики пользователей. Для достижения этой цели спам-фильтры применяют правила обнаружения спама, которые учитывают различные факторы (отправителя сообщения, содержание и многое другое), что позволяет оценить сообщение. Если эта оценка превышает так называемый spam level, сообщение распознается как спам.

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

Популярным фильтром с открытым исходным кодом является .

Антивирусы

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

Веб-почта (или Webmail)

Многие пользователи нуждаются в веб-почте. Веб-почта (в контексте работы с почтовым сервером) – это почтовый клиент, доступный пользователям через веб-браузер (Gmail, вероятно, самый известный пример). Этот компонент нуждается в веб-сервере (например, Nginx, Apache) и может запускаться непосредственно на почтовом сервере.

Примеры: Roundcube and Citadel.

Поддержка почтового сервера

Ознакомившись с серверными компонентами электронной почты, которые нужно установить и настроить, рассмотрим следующий вопрос: почему поддержка почтового сервера может стать слишком трудоёмкой и требовать больших затрат времени? Есть рутинные задачи технического обслуживания: обновление правил антивируса и спам-фильтра, поддержка всех компонентов в актуальном состоянии и т.п.; но помимо этого есть множество других моментов.

Черные списки

Одной из распространенных проблем, относящихся к поддержке почтового сервера, является необходимость удерживать его вне черных списков (которые также называются DNSBL, blacklists, или blackhole lists). Такие списки содержат IP-адреса почтовых серверов, которые распространяют спам или «макулатурную» почту, а также серверов с неверно настроенными DNS-записями. Многие почтовые серверы подписываются на один или даже несколько таких черных списков, после чего фильтруют входящие сообщения в зависимости от того, внесен ли почтовый сервер, отправивший сообщение, в список (или списки). Если почтовый сервер попадает в ЧС, его исходящие сообщения будут отфильтрованы (а некоторые заблокированы) перед отправкой получателю.

Как правило, попавший в ЧС почтовый сервер можно из этого списка исключить. Для этого нужно выяснить причину занесения сервера в черный список и устранить ее. Затем нужно проследить за процессом удаления сервера из списков и подписаться хотя бы на один из них.

Устранение неполадок

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

Установка своего почтового сервера, как правило, не вызывает особых трудностей. В Сети доступно большое количество готовых инструкций. Буквально одна команда, и 25-й порт уже готов к работе. Весело становится, когда отправленные письма начинают возвращаться, а получатели жаловаться, что сообщения не доходят. Здесь уже хочешь не хочешь, но придется искать причины и вникать в технологии.

Кто отправляет письма

Сегодня возможность привязать свой домен к сервису предлагают многие веб-службы. Особо популярно размещение почты на Gmail или Яндексе. Все сообщения будут идти через предоставленный ими SMTP-сервер, проверенный поставщик услуг сам сформирует все необходимые заголовки и подписи, которые позволят пройти через любой спам-фильтр. Но такой вариант не всегда возможен. Например, организация имеет большое количество пользователей, нужны особые настройки для почты, недоступные в облачных сервисах. Или используется свой сервер с порталом, CMS или интернет-магазин, с которых нужно отправлять сообщения.

По умолчанию все PHP-приложения используют для отправки почты функцию mail() , которая, в свою очередь, отправляет их через локальный SMTP-сервер, описанный в php.ini .

Sendmail_path = /usr/sbin/sendmail -t -i

Или в виртуальном хосте:

Php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"

И хотя там в 100% случаев написан sendmail, на самом деле это может быть симлинк, а почту отсылает Postfix или Exim. Чтобы отправить почту из приложения, можно выбрать один из трех вариантов:

  • Сам движок иногда позволяет указать внешний SMTP-сервер (в дефолтных настройках или через плагин, в WordPress это WP Mail SMTP или Easy WP SMTP). Достаточно просто указать данные аккаунта, и все проблемы решены.
  • Использование программы-прокладки, которая эмулирует работу локального SMTP-сервера и отправляет сообщения через почтовый аккаунт на стороннем сервере. Здесь очень популярна SSMTP.
  • Использование своего почтового сервера. Придется, конечно, его настроить, зато больше возможностей конфигурации.

Нас интересует последний вариант. Разберем, как пробиться через антиспам-технологии и гарантированно доставить получателю сообщение. Сами фильтровать спам не будем. Это тема другой статьи. В качестве подопытного SMTP-сервера выберем Postfix и Exim, они популярны на хостингах, просты и понятны в настройках, хотя основные вопросы будут касаться всех SMTP-серверов.

Как не попасть в спам

Борьба со спамом - это головная боль всех администраторов почты. Причем в последнее время актуальна как раз обратная сторона медали: спам-фильтры буквально зверствуют. Поэтому спам в приходящей почте практически отсутствует, но вот нормальные сообщения постоянно куда-то пропадают, клиенты и руководство нервничают, и приходится дополнительно убеждаться, что сообщение дошло до адресата. И после установки SMTP-сервера с большой вероятностью придется еще повозиться, чтобы сообщения вообще хоть куда-то доходили. В частности, чтобы оценить настройки, следует посмотреть, доставляются ли письма в ящики основных почтовых систем Gmail, Яндекс, Mail.Ru. Обычно на этом этапе появляются первые сложности, и приходится решать все проблемы персонально.

Почтовые сервисы используют многоуровневую систему фильтрации спама, причем настолько серьезную и засекреченную, что о принципах не знает даже их собственная техподдержка. И у каждого сервиса свои приоритеты. Хотя обычно некая подсказка о причине недоставки содержится в ответном письме сервиса. Также в анализе причин помогает сервис mail-tester.com , достаточно отправить письмо на указанный там адрес и затем после анализа получить результат и перечень проблем. Некоторые из них можно проверить и решить, еще не настраивая SMTP-сервер.

Борьба со спамом породила множество технологий. Самая старая из них - blacklist, в который заносятся все IP и домены, занимавшиеся рассылкой спама, сюда же могут попасть открытые релеи, прокси и Dialup-адреса, используемые для удаленного доступа (то есть они теоретически не должны рассылать почту). Организованы такие blacklist по-разному. Популярностью пользуются DNSBL (DNS blacklist) - черные списки в формате DNS, которые легко опрашивать. На сегодня доступно множество баз, не все они популярны и используются. Проблема в том, что списка для конкретного почтового сервиса нет, сколько и какие они опрашивают - это тайна.

Доменные имена, как и IP-адреса, сегодня могут быть «бэушными». Есть вероятность, что до тебя ими пользовался сервис рассылки сообщений или хост, размещенный на нем, был взломан и рассылал спам. Соответственно, они вполне могут попасть в какой-то из DNSBL и быть проблемой. Mail.Ru отбрасывал письма с одного IP именно из-за того, что тот находился в одном из таких полузабытых списков, попав туда в 2010 году. Причем Mail.Ru даже не утруждался проверять правильность SPF и DKIM. Дело сдвинулось, лишь когда IP убрали из блек-листа.

Проверить IP или домен можно самостоятельно, отослав DNS-запрос к выбранному DNSBL-серверу при помощи утилиты dig:

$ host -tA сайт.ex.dnsbl..ex.dnsbl.org not found: 3(NXDOMAIN)

Но удобнее пользоваться онлайн-сервисами, проверяющими сразу в нескольких базах. IP можно проверить в dnsbl.info (59 баз) или whatismyipaddress.com (72 базы), домен, кроме того, - в mxtoolbox.com (107 баз), spamhaus.org или multirbl.valli.org . Если вдруг домен или IP окажется в списке, лучше сразу написать в поддержку и убрать свой адрес.


Правильная DNS

При получении сообщения удаленный SMTP-сервер анализирует прежде всего его заголовок. Почтовая программа отправляет только From, To, Date, Subject и X-Mailer. Они в общем понятны и просто указывают, от кого и куда слать. Остальной заголовок формируется как SMTP-сервером, так и приложением, его отправляющим. Это, кстати, тоже нужно учитывать, потому что письма, отправляемые через Telnet, могут уходить, а с Roundcube - нет, просто потому, что у них разный заголовок. Roundcube, например, подставляет свой HELO/EHLO на основании переменной server_name или localhost, если она не определена. Поэтому иногда нужно просто задать его явно:

$rcmail_config["smtp_helo_host"] = "example.org";

То же касается и самописных PHP-скриптов.

При передаче письмо будет проходить минимум через два SMTP-сервера, каждый из которых тоже добавляет что-то от себя в заголовок. В первую очередь каждый сервер добавляет свой Received: from. Читать их лучше снизу вверх. Самое нижнее сообщение - это сервер отправителя, самый верхний - сервер получателя. Хотя на самом деле серверов может быть больше, особенно это актуально при работе с крупными провайдерами услуг, которые, приняв письмо, перебрасывают его дальше, или при использовании на пути SMTP-прокси. Для анализа пути сообщения можно использовать сервис от Google , который покажет в понятной форме все SMTP-серверы, время прохождения и тесты SPF, DKIM и DMARC (о них дальше).


Заголовки Received отличаются, хотя есть общие правила. Типичный выглядит так:

Received: from server.example.org (helo=server.example.org) by st15.provider.com with esmtps (Exim 4.80.1) (envelope-from )

Здесь сообщение было получено с сервера, который называется server.example.org, имеет IP 1.2.3.4, в приветствии helo было использовано это же имя, получил его Exim 4.80.1 сервера st15.provider.com. Сообщение отправлено с [email protected]. Приняв такой заголовок, SMTP-сервер начинает проверять данные. Пробивает домен и IP по базам DNSBL. Проверяет наличие MX-записи у домена. MX изначально используется для поиска почтовых серверов, обслуживающих данный домен, ее наличие подтверждает, что домен отправляет почту.

Дальше он производит обратное разрешение имени по IP через обратный DNS-запрос c помощью PTR-записи. То есть он узнает, сервер с каким именем должен быть по адресу, с которого пришло сообщение. Такое поведение было заложено в RFC 2505 от февраля 1999 года Anti-Spam Recommendations for SMTP MTAs. И хотя давно признано, что обратные зоны не являются достаточным условием для однозначного опознавания отправителя и часто приводят к ошибкам и задержкам, они все же поддерживаются. Поэтому они должны совпасть, иначе сообщение как минимум получит минус в рейтинге, а в худшем случае будет отброшено.

В нашем примере за IP 1.2.3.4 должен быть закреплен server.example.org. DNS-запись выглядит так:

1.2.3.4.in-addr.arpa. IN PTR server.example.org

Для IPv6 используется ip6.arpa. В принципе, знать об особенностях PTR необязательно, так как PTR, за редким исключением, настраивает только хостинг-провайдер. И если оно не устраивает, то нужно просто обратиться в поддержку. Проверить PTR можно при помощи запроса:

$ dig -x 1.2.3.4

По факту PTR-запись после развертывания VDS может указывать на технический домен, представленный провайдером, вроде srv01.provider.net , в шаблоне VDS hostname вписан как Ubuntu1604 (меняется в /etc/hostname), в HELO/EHLO SMTP-сервер пишет вообще localhost.localdomain , а письмо идет от домена example.org. Вероятность доставки письма при таких условиях будет стремительно приближаться к нулю. Хотя некоторые сервисы отмечают подобные несоответствия как ошибку и проводят полную проверку.

Особо хочется обратить внимание, что VDS обычно имеет два IPv4 и v6. Поэтому все сказанное касается обеих версий, так как письмо к одному серверу может идти по IPv4 и доставляться, а другой предпочитает использовать IPv6, и письмо может не доходить до получателя. При этом очень много провайдеров, предоставляя IPv6, абсолютно не утруждают себя настройкой PTR-записи, и ее проверка возвращает ошибку. Но Google, например, предпочитает IPv6 и сразу отбрасывает письмо, если PTR не совпадает с именем сервера. В ответном сообщении сервиса это выглядит так:

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

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

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:
IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1
  • Обратная зона для example.tst:
192.168.10.1 IN PTR mail.example.tst.

Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.

Root@mail:~# vim /etc/hostname mail root@mail:~# vim /etc/hosts ## IP Полностью определённое доменное имя Имя хоста ## 192.168.10.1 mail.example.tst mail

Добавление пользователей

Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.

Root@mail:~# adduser alex

Установка и настройка SMTP

SMTP: Установка postfix

root@mail:/etc/postfix# vim main.cf ## имя сервера ## myhostname = mail.example.tst ## определение псевдонимов ## alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases ## определение transport ## transport_maps = hash:/etc/postfix/transport ## myorigin задаёт доменное имя для писем, берущих начало с этого сервера. В нашем случае, все исходящие письма должны иметь "@example.tst" в качестве домена отправителя ## myorigin = example.tst ## mydestination параметр определяет, какие домены эта машина будет доставлять локально вместо того, чтобы переправлять на другую машину. ## mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport ## адрес smarthost. В этом уроке не используется, о нём будет расказанов в будущей инструкции ## relayhost = ## доверенные сети отправителя. postfix не будет пересылать письма, приходящие из других сетей ## mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24 ## размер почтового ящика в байтах. 0 означает без ограничений ## mailbox_size_limit = 0 ## postfix будет прослушивать все доступные интерфейсы, например, eth0, eth1, eth2 и так далее ## inet_interfaces = all
  • transport

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.

Root@mail:/etc/postfix# vim transport example.tst local: .example.tst local: root@mail:/etc/postfix# postmap transport

  • aliases

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:

Root@mail:/etc/postfix# vim aliases userA: userA, userB root@mail:/etc/postfix# postalias aliases

Обратите внимание: Синтекс "userA: userB" определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.

SMTP: Запуск и обслуживание

postfix может быть запущен командой.

Root@mail:~# service postfix restart

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.

Root@mail:~# netstat -nat tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

POP/IMAP: Установка dovecot

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.

Root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf ## расположение почтовых ящиков, заданных в формате "mbox" ## mail_location = mbox:~/mail:INBOX=/var/mail/%u ## dovecot даны необходимые разрешения на чтение/запись пользовательских почтовых ящиков ## mail_privileged_group = mail

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

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

Root@mail:~# service dovecot restart

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.

Root@mail:/etc/dovecot/conf.d# netstat -nat tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

Использование почтового сервера с пользовательской почтовой программой

Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках. На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:

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

  • Лучший ваш друг – это лог-файл /var/log/mail.log. Любые зацепки, почему почта не работает, могут быть найдены здесь.
  • Убедитесь, что файервол должным образом настроен.
  • Убедитесь, что DNS сервер имеет должные записи.

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

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

Внимание : Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.

Надеюсь это поможет.

Эти программы нельзя установить на виртуальный хостинг . Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS). — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.

Вообще, тема почты очень близка авторам , мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на хостинге и т. д. Всё это и многое другое вы сможете найти по тегу своя почта.