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

image

Предисловие
Так уж сложилось, что подрабатываю преподавателем по администрированию линуксов. И в качестве домашнего задания даю студентам десяток ссылок на различные ресурсы, так как где-то материала недостаточно, где-то он слишком сложный. А на разных ресурсах материал часто дублируется, а иногда начинает расходится. Также, большинство контента на английском, а бывают студенты, которые испытывают трудности с пониманием. Есть прекрасные курсы у Семаева и Лебедева, и, возможно, у других, но, на мой взгляд, какие-то темы недостаточно раскрыты, какие-то недостаточно связаны с другими.

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

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

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

P.S. Некоторые посчитали, что видео формат не совсем подходит и лучше делать текстом. Я не совсем согласен, но пусть будет выбор — как видео, так и текст.

Видео



Next > Режимы работы почтовых серверов

Чтобы иметь возможность работать с электронной почтой, вам нужен почтовый клиент. Это может быть как веб-клиент, допустим gmail, owa, roundcube, так и приложение на компьютере — outlook, thunderbird и т.п. Предположим, вы уже зарегистрировались на каком-то почтовом сервисе и вам нужно настроить почтовый клиент. Вы открываете программу и она запрашивает у вас данные: имя для аккаунта, ваш почтовый адрес и пароль.

image

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

image

Для примера, Outlook использует метод «autodiscover», клиент обращается к dns серверу и спрашивает об определённой записи autodiscover, которая связана с тем почтовым доменом, который вы указали в настройках вашего почтового клиента. Если администратор настроил данную запись на DNS сервере, она указывает на вебсервер.

image

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

image

В случае с Thunderbird, почтовый клиент обходится без поиска DNS записи autodiscover, а сразу пытается подключиться к вебсерверу autoconfig. и имя указанного домена. И также пытается на вебсервере найти файл с настройками подключения в XML формате.

image

Если почтовый клиент не находит файла с необходимыми настройками, он попытается угадать настройки среди часто используемых. Например, если домен называется example.com, то почтовый сервер проверит, есть ли сервера с названиями imap.example.com и smtp.example.com. Если найдёт — пропишет это в настройках. Если же почтовый клиент никак не может определить адрес почтового сервера, он предложит пользователю самому ввести данные подключения.

image

Тогда вы заметите 2 поля для серверов — адрес сервера входящей почты и адрес сервера исходящей почты. Как правило, в небольших организациях эти адреса совпадают, пусть даже указаны через разные DNS имена, а в больших компаниях это могут быть разные сервера. Но не важно, это один и тот же сервер или нет — сервисы, стоящие за ними, разные. Одна из самых популярных связок почтовых сервисов — Postfix & Dovecot. Где Postfix выступает в роли сервера исходящей почты (MTA — mail transfer agent), а Dovecot в роли сервера входяшей почты (MDA — mail delivery agent). По названию можно догадаться, что Postfix используется для отправки почты, а Dovecot — для получения почты почтовым клиентом. Сами почтовые сервера же общаются между собой по протоколу SMTP — т.е. Dovecot (MDA) нужен для пользователей.

image

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

image

Когда ваш сервер получит сообщение, он попытается найти, кому же доставить это сообщение. Ваш сервер не может знать наизусть адреса всех почтовых серверов, поэтому он обращается к DNS с целью найти специальную запись MX — указывающую на почтовый сервер для данного домена. Эти записи могут отличаться для разных сабдоменов.

image

После того, как он узнает адрес сервера получателя, он отправляет ваше сообщение по SMTP на этот адрес, где почтовый сервер (MTA) получателя примет сообщение и положит в специальную директорию, в которую также смотрит сервис, отвечающий за получение клиентами сообщений (MDA).

image

Когда в следующий раз почтовый клиент получателя спросит у сервера входящей почты о наличии новых сообщений, MDA отправит ему ваше сообщение.

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