ћерион Ќетворкс

6 минут

ѕриходишь ты такой в офис, уже налил чашечку кофе, поболтал у кулера, садишьс€ за рабочее место и начинаешь писать: Ууважаемые коллеги, бла бла блаФ, и тут, после того, как все коллеги уважены в твоем обращении, ты вдруг задумываешьс€ - а как это работает? ѕочему мо€ почта доходит до уважаемых коллег? ќчень просто - сейчас расскажем как.

ƒл€ начала разделим работу электронной почты на две части - отправка и получение.


ќтправка

ЌачнЄм с отправки.  ак только ты дописал своЄ письмо и нажал на кнопку УќтправитьФ, твой почтовый клиент (Outlook, Thunderbird, Gmail или Yandex Mail) отправит его на сервер по протоколу SMTP - Simple Mail Transfer Protocol, что переводитс€ как простой протокол передачи почты. » тут начинаютс€ первые проблемы. ƒело в том, что этот протокол действительно УпростойФ. ќн увидел свет аж в 1982 году, а как ты помнишь, тогда на безопасность было вообще пофиг, поэтому все письма отправл€лись в открытом виде, пользователи никак не аутентифицировались, а хакеры успешно примен€ли его дл€ рассылки спама.

ѕочтовые клиенты

ѕоэтому, в 2008 году ему решили добавить фич в виде поддержки шифровани€, авторизации, 8-битных наборов символов и ещЄ много всего полезного и назвали это все ESMTP, где означает extended, то есть расширенный. Ќо даже после этого протокол называют просто - SMTP.

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

ќтветы от сервера - это кодовые значени€, которые дел€тс€ на 5 типов. “е у которых код 200, означают что всЄ ок, а те что с кодом 500 - не ок.

Ќичего не напоминает? ƒа, очень похоже на HTTP

ѕри стандартной отправке письма происходит следующее:

  • “вой клиент подключаетс€ к серверу
  • —ервер выдаЄт ему список доступных команд
  • “вой клиент отправл€ет команды, которые содержат адрес отправител€, получател€ и собственно само сообщение
  • —ервер помещает твоЄ сообщение в очередь на отправку и если всЄ ок - отправл€ет его.
  • ј в случае если ты сын маминой подруги и позаботилс€ о безопасности, клиент также пройдЄт процедуру аутентификации и шифровани€, прежде чем отправить письмо.

 стати, ты можешь указать в адресе отправител€ что угодно и тебе за это ничего не будет. ƒело в том, что в SMTP нет встроенных проверок подлинности отправител€, дл€ этого используютс€ внешние механизмы. —амый простой - это сопоставление домена и IP-адреса отправител€ через DNS-запрос. “ак что если ты решишь прикинутьс€ »лоном ћаском и написать кому нибудь письмо с просьбой отсыпать немножко биткоинов, то скорее всего оно попадЄт в спам.

SMTP используетс€ не только дл€ отправки писем от клиента к серверу, но и дл€ передачи твоего письма между почтовыми серверами.

ƒопустим, если ты напишешь »лону, то сначала твоЄ письмо попадЄт на твой локальный сервер, который скорее всего не находитс€ в домене spacex.com, поэтому твой сервер будет по тому же DNS искать в »нтернетах почтовый сервер, отвечающий за маршрутизацию электронной почты домена Space X. Ёто кстати называетс€ MX-запись.  огда эта информаци€ будет найдена, то сервер пульнЄт туда твоЄ письмо по протоколу SMTP.

ƒл€ работы SMTP был зарезервирован TCP порт 25, но есть ещЄ 2 порта - это 465 и 587, оба они предназначены дл€ св€зи клиента с сервером по защищенным механизмам, а 25 предназначалс€ только дл€ св€зи между собой почтовых серверов.

ќтлично, теперь твоЄ письмо, пройд€ все системы антиспама и проверки лежит на почтовом сервере получател€ и дожидаетс€ когда же его прочитают, а мы переходим ко второму действию - получение.


ѕолучение

“ут возможны 2 варианта. Ћибо твой клиент будет получать почту по протоколу IMAP - Internet Message Access Protocol, либо по протоколу с не очень приличным названием POP3 - Post Office Protocol 3.

ƒл€ POP3 почтовый сервак выступает в роли временного хранилища писем.  лиент, настроенный на работу с POP3, будет периодически обращатьс€ на сервак и спрашивать: - У≈сть чЄ по письмам?Ф, —ервер ответит ему: - Ујга естьФ, тогда клиент ответит: - У«ашибись, а ну гони всЄ сюда и удали все копии, чтоб письма были только у мен€Ф

»менно так, в случае POP3 клиент будет хранить все письма только у себ€, но в этом есть плюс - даже если у теб€ пропадЄт »нтернет, ты всЄ равно сможешь получить доступ к своим письмам. Ќадо сказать, что с помощью самого клиента (но не POP3), можно попросить сервер всЄ таки хранить копии писем.

ј вот тебе ещЄ несколько непри€тных фактов про POP3:

  • ќн работает только на одном клиенте, то есть если ты открыл клиент с POP3 на компе, то с мобильного телефона уже не сможешь посмотреть свою почту.
  • ј ещЄ нельз€ разнести письма по папкам, настроить фильтры, пометить важность и т.д.

ј? Ќу как тебе, удобно? Ћадно, давай посмотрим какие ещЄ есть варианты.

“ы можешь настроить свой клиент на работу с протоколом IMAP, тогда всем движем будет управл€ть почтовый сервак. ¬ этом случае, твой почтовый клиент будет нужен только как интерфейс дл€ работы с почтой. «ато ты сможешь получить доступ к своему почтовому €щику откуда угодно и с чего угодно. —идишь за рабочим местом - читаешь почту с компа, отошЄл в уборную - с мобилки, можно использовать веб-клиент и заходить через »нтернет.

POP3 vs IMAP

јх да, при€тным бонусом будет то, что с помощью IMAP ты можешь настроить под себ€ папки, помечать письма как важные, запрашивать статус о прочтении письма, выполн€ть сложные поиски по письмам и многое другое.

Ќо в этом есть и недостатки. »з-за того, что с IMAP всЄ слишком сложно, обработка писем серваком происходит гораздо дольше и Увообще то место на нЄм не резиновоеФ. ≈сли посто€нно хранить все письма без ротации, то рано или поздно почтовый €щик забьЄтс€.


—кидки 50% в Merion Academy

¬ыбрать курс