Страницы

Поиск по вопросам

Показаны сообщения с ярлыком pop3. Показать все сообщения
Показаны сообщения с ярлыком pop3. Показать все сообщения

четверг, 13 февраля 2020 г.

Как доставляется электронная почта?

#unix #sendmail #imap #pop3


Я вот не совсем понимаю, как идет доставка сообщений на почтовый сервер? Мы пишем
письмо с user@gmail.com на test@mail.ru. Что происходит на уровне системы? sendmail
(или другой мейл агент) доставляет письмо на указанный сервер (mail.ru) или на другой
(который прописан в mx-записи)? И самое главное - какому сервису он передается? sendmail-sendmail?
Pop3 и imap служат только для того чтобы отдавать почту пользователю? В общем сильно
не пинайте, а объясните концепцию или линк на толковую статью. Спасибо.
    


Ответы

Ответ 1



Предположим, мы написали письмо со своего ящика user@gmail.com для test@mail.ru. Из веб-формы письмо передаётся MTA (Mail Transfer Agent - почтовый агент) Google, который начинает его обработку. MTA может быть любым - sendmail, postfix, MS Exchange и т.п., порядок действий везде одинаковый. Вначале MTA выделяет из адреса отправителя имя домена (в нашем случае - mail.ru) и посылает DNS-запрос "какие MX-записи у этого домена?". Дело в том, что для почты есть свои собственные записи в DNS, так называемые MX-записи (MX - Mail Exchanger), в которых находятся имена (не IP-адреса, а именно имена почтовых серверов домена!). В ответ DNS присылает список имён почтовых серверов. MTA берёт один из полученных имён и посылает DNS-запрос "какой IP у этого имени?". DNS-сервер присылает в ответ адрес (возможно, не один) для имени, после чего MTA соединяется с этим адресом и по стандарному протоколу SMTP (или ESMTP) передаёт письмо почтовому серверу получателя. Сервер получателя кладёт письмо в своё внутреннее хранилище писем для test@mail.ru и ждёт пока пользователь подключится и прочитает свою почту. Пользователь может не использовать web-интерфейс, а подключаться к MTA при помощи отдельной программы - почтового клиента (Mozilla Thunderbird, The Bat и т.п.). Но всё дело в том, что протокол SMTP для этого не подходит, он создан для обмена данными между серверами. Здесь работают два других протокола - POP3 и IMAP. Для клиента разница между ними почти отсутствует, но внутренне они абсолютно непохожи. IMAP более современный и умный, POP3 более старый и поглупее. (Если есть возможность - выставляйте IMAP.) Эти протоколы ответственны за передачу почты между клиентской программой и MTA. Если SMTP однонаправленный (только отправка), то клиентские протоколы двунаправленные (отправка и получение). Есть ещё одна интересная деталь. MX-записей у домена может быть несколько. То есть у домена может быть несколько почтовых серверов. Казалось бы зачем это надо? Ведь у любого DNS-имени может быть несколько IP-адресов (A-записей), так зачем же усложнять картину? А затем, что у MX-записей есть то, чего нет у A-записей - приоритет. Все IP для одного имени равноприоритетны, но для MX-записей можно указывать их "вес". "Вес" - это неотрицательное целое число и чем оно меньше, тем выше приоритет этой записи. MTA всегда вначале пытается соединиться с сервером, имеющим более высокий приоритет и только если ему это не удалось, переходит к серверу с более низким приоритетом.

среда, 22 января 2020 г.

RFC 1939 на русском языке

#pop3 #rfc


Всем доброго времени суток.
Не могу найти в интернет полное описание pop3 протокола на русском языке, может кто
знает, где можно взять?
Спасибо.    


Ответы

Ответ 1



RFC 1939 — Протокол POP3

вторник, 23 апреля 2019 г.

Как доставляется электронная почта?

Я вот не совсем понимаю, как идет доставка сообщений на почтовый сервер? Мы пишем письмо с user@gmail.com на test@mail.ru. Что происходит на уровне системы? sendmail (или другой мейл агент) доставляет письмо на указанный сервер (mail.ru) или на другой (который прописан в mx-записи)? И самое главное - какому сервису он передается? sendmail-sendmail? Pop3 и imap служат только для того чтобы отдавать почту пользователю? В общем сильно не пинайте, а объясните концепцию или линк на толковую статью. Спасибо.


Ответ

Предположим, мы написали письмо со своего ящика user@gmail.com для test@mail.ru. Из веб-формы письмо передаётся MTA (Mail Transfer Agent - почтовый агент) Google, который начинает его обработку. MTA может быть любым - sendmail, postfix, MS Exchange и т.п., порядок действий везде одинаковый.
Вначале MTA выделяет из адреса отправителя имя домена (в нашем случае - mail.ru) и посылает DNS-запрос "какие MX-записи у этого домена?". Дело в том, что для почты есть свои собственные записи в DNS, так называемые MX-записи (MX - Mail Exchanger), в которых находятся имена (не IP-адреса, а именно имена почтовых серверов домена!). В ответ DNS присылает список имён почтовых серверов. MTA берёт один из полученных имён и посылает DNS-запрос "какой IP у этого имени?". DNS-сервер присылает в ответ адрес (возможно, не один) для имени, после чего MTA соединяется с этим адресом и по стандарному протоколу SMTP (или ESMTP) передаёт письмо почтовому серверу получателя. Сервер получателя кладёт письмо в своё внутреннее хранилище писем для test@mail.ru и ждёт пока пользователь подключится и прочитает свою почту.
Пользователь может не использовать web-интерфейс, а подключаться к MTA при помощи отдельной программы - почтового клиента (Mozilla Thunderbird, The Bat и т.п.). Но всё дело в том, что протокол SMTP для этого не подходит, он создан для обмена данными между серверами. Здесь работают два других протокола - POP3 и IMAP. Для клиента разница между ними почти отсутствует, но внутренне они абсолютно непохожи. IMAP более современный и умный, POP3 более старый и поглупее. (Если есть возможность - выставляйте IMAP.) Эти протоколы ответственны за передачу почты между клиентской программой и MTA. Если SMTP однонаправленный (только отправка), то клиентские протоколы двунаправленные (отправка и получение).
Есть ещё одна интересная деталь. MX-записей у домена может быть несколько. То есть у домена может быть несколько почтовых серверов. Казалось бы зачем это надо? Ведь у любого DNS-имени может быть несколько IP-адресов (A-записей), так зачем же усложнять картину? А затем, что у MX-записей есть то, чего нет у A-записей - приоритет. Все IP для одного имени равноприоритетны, но для MX-записей можно указывать их "вес". "Вес" - это неотрицательное целое число и чем оно меньше, тем выше приоритет этой записи. MTA всегда вначале пытается соединиться с сервером, имеющим более высокий приоритет и только если ему это не удалось, переходит к серверу с более низким приоритетом.

четверг, 4 октября 2018 г.

Определяем POP3 сервер по email

Дан email вида name@domain.zoneНеобходимо определить сервер входящей почты (адрес и порт) для чтения письма. Желательно определить имя пользователя.
Пример: Для name@mail.ru должен выдать pop.mail.ru:110 username:name Для name@ekotek.info должен выдать mail.ekotek.info:110 username name+ekotek.info
Для последнего можно не проверять. Привел только ради того, чтобы показать что имена для почтовых адресов берутся не до символа @. И ставлю под сомнение, что это вообще возможно для последнего (определение имени).
НО: Домен прекрасно определяет служба Gmail.


Ответ

Рискну предположить, что идёт перебор распространённых наименований (pop, pop3, mail, relay и т.д.) с проверкой по 110 порту.