Главная / Cоветы ПК / Это полезно знать. / Email протоколы: SMTP и POP3.

Email протоколы: SMTP и POP3.

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

Email протоколы: SMTP и POP3.

Для дальнейшей иллюстрации мы рассмотрим два протокола, которые можно использовать каждый день, чтобы отправлять и получать электронную почту: SMTP и POP3.
Простой протокол передачи почты: SMTP
Simple Mail Transfer Protocol (SMTP) является одним из самых уважаемых интернет-протоколов. Разработанный в начале 1980-х, его функции чисто и просто передают по электронной почте, а также между сетями и другими транспортными системами. Таким образом, его использование не обязательно должно быть ограничено в системах, использующих протокол TCP / IP. Любая система связи способна обрабатывать линии до 1000 7-битных ASCII символов которые могут быть использованы для выполнения сообщений по протоколу SMTP. В TCP / IP сети, однако, TCP обеспечивает транспортный механизм.
В SMTP-отправитель является клиентом, а клиент может взаимодействовать с различными серверами. Сообщения могут отправляться непосредственно от отправляющего хоста на хост-получателя, требующего отдельного соединения TCP и должны быть сделаны каждая копия каждого сообщения. Тем не менее, несколько получателей почты могут запустить свой собственный сервер SMTP.
Это наиболее характерно для назначения SMTP сообщений,сервер, который обслуживает группу пользователей, таких как интернет-домены. Сервер получает всю почту, предназначенную для пользователей, а затем позволяет им собирать, используя POP3 (Post Office Protocol версии 3) или другие почтовые протоколы. Кроме того, большинство SMTP-клиентов посылают сообщения в один «умный хост» сервер, чья работа заключается в том, чтобы передать эти сообщения для своих возможных получателей.
Транзакции SMTP начинаются тогда, когда отправитель клиент открывает TCP соединение с приемником, используя известный номер порта 25. Сервер признает связь, отправив обратно сообщение вида «220 SMTP Server Ready«. SMTP использует похожий формат ответов на FTP, который мы рассмотрели ранее. Полученный трехзначный код, программное обеспечение клиента должно ответить, если все будет ОК. Эта стаья , чтобы помочь людям, которые могли бы устранить неполадки с помощью анализа журнала транзакций. В окне «Application Protocol Ответы кодов» содержится более подробная информация о кодах сообщений ответа.
Сервер SMTP может отказать в связи, отправив обратно сообщение с ответным кодом «421 Служба недоступна». Например, SMTP сервер провайдера услуг Интернета, при условии, для своих абонентов для передачи исходящей почты может отказать в связи с хостом, чей IP-адрес указывает, что он не является абонентом ISP. Основной SMTP протокол не имеет формы контроля доступа — так, как его можно использовать для передачи сообщений и это делает его непрактичным — так что единственный путь ,в котором провайдеры могут предотвратить неподписчиков , таких как спамеров , от использования своих почтовых серверов для отправки сообщений .
Получив подтверждение правильных знаков отправителя на сервер, сервер отправляет строку «HELO имя». HELO знак на команду и имя , является именем хоста. Как мы увидим, имя хоста используется в редакции : заголовок, сервер добавляет сообщение, когда он отправляет его по своему пути. Эта информация позволяет получателю проследить путь по сообщению.
Посылающий сервер
Когда отправитель получает признание «250 OK» он может начать отправку сообщений. Протокол чрезвычайно прост. Всё что отправители должны сделать, это сказать, какие из сообщений должны поставлять содержимое сообщения.
Сообщение задаётся с помощью команды «MAIL FROM: <address>». Эта команда также сообщает получателю, что он собирается получать новые сообщения, так что он знает, чтобы очистить свой список получателей. Адрес в угловых скобках является обратным путём для сообщения. Обратный путь это адрес, такой ,что любое сообщение об ошибке будет  сгенерировано, если сообщение не доставлено или не отправляется.
Оно действительно на обратном пути и является недействительным, как в «MAIL FROM: <>». Это обычно используется при отправки отчета об ошибке. Нулевой путь возврата означает, что отчет об ошибке, не требуется. Его основной целью является не попасть в ситуацию, в которой сообщения невозможно доставить трансферу туда и обратно, потому что оба адреса отправителя и получателя недоступны.
Получатели сообщений определяется с помощью команды «RCPT TO: <address>». Каждый адрес, заключен в угловые скобки. Сообщение может иметь много получателей, и RCPT TO: команда отправляется для каждого из них. Эти   RCPT TO: команды, не все в заголовке сообщения, которые прибывают к месту назначения. В случае скрытых копий сообщений или списка адресов серверов получателя не будут отображаться в заголовке вообще.
Каждый получатель признается с ответом «250 OK». Получатель также может быть отклонён при использовании ответа с кодом  550 ответа. Это зависит от того, как сервер был настроен. Удаленный доступ к серверам провайдера SMTP может принять каждую команду RCPT TO:, даже если указанный адрес, является недействительным, так как сервер не знает, что адрес неверный, пока он не сделаеь поиск DNS на нём. Тем не менее, почтовый сервер, предназначенный для приема сообщений для локальных пользователей или конкретного домена будет отвергать почту для адресов, которые не находятся в этой области.
Могут быть получены и другие ответы в ответ на RCPT TO: сообщения, что сервер SMTP был полезным. Если адрес неправильный, но сервер не знает правильный адрес он может ответить «251 Пользователь не местный; направит <address>» или «551 Пользователь не местный, попробуйте <address>». Обратите внимание на различные коды ответов означающих что , сервер направляет сообщение или нет. Эти ответы не являются общими, и почтовый клиент может просто отправить ответ 551 , как ошибку, а не пытаться анализировать альтернативные адреса из текста ответа.
Для полноты картины следует отметить, что команды RCPT TO: могут задавать маршруты, а не просто адреса. Маршрут будет выражаться в виде «RCPT TO: <server1,server2:someone@server3>».
Текст сообщений.
После того как все получатели были указаны, всё, что остается сделать отправителю отправить сообщение. Сначала он отправляет команду «DATA», а затем ожидает ответа типа: «354 Start вход почты, с конца <CRLF> <CRLF>.». Сообщение будет отправлено в виде последовательности строк текста. Но не будет получено подтверждений для каждой строки, хотя отправитель должен следить за ответом,который указывает на ошибки.
В конце сообщения, как указано в ответе указанном выше, период (точка) на линии своих собственных. Таким образом, одной из самых простых, но самых важных вещей,это то что почтовый клиент должен сделать — убедиться, что строка, содержащая один период не появляется в самом тексте. В конце сообщения признается с ответом «250 OK». Стоит отметить, что SMTP ни в малейшей степени не заинтересован в содержании сообщения. Это может быть все что угодно, хотя, строго говоря, сообщения не должны содержать любые символы с ASCII значениями в диапазоне от 128 до 255, а строки текста не должны  превышать 1000 знаков. Так же  не требуется, чтобы заголовки адреса отправителя и получателя, которые использовали команды  SMTP, что делает их лёгкими для сообщений , по всей видимости, пришли от кого-то другого, чем истинный отправитель.

Продолжение статьи следует,следите за публикациями .

[note]P.P.S. Если у Вас есть вопросы, желание прокомментировать или поделиться опытом, напишите, пожалуйста, в комментариях ниже.[/note]

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*