Email протоколи: smtp і pop3.

Відео: Налаштування поштових протоколів SMTP, POP3 та IMAP

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



Для подальшої ілюстрації ми розглянемо два протоколу, які можна використовувати кожен день, щоб відправляти і отримувати електронну пошту: 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:

». Ця команда також повідомляє отримувача, що він збирається отримувати нові повідомлення, так що вона знає, щоб очистити свій список одержувачів. Адреса в кутових дужках є зворотним шляхом для повідомлення. Дорога назад це адреса, такий, що будь-яке повідомлення про помилку буде згенеровано, якщо повідомлення не вдалося доставити або не повідомлять.
Воно дійсно на зворотному шляху і є нечинним, як в «MAIL FROM: <>». Це зазвичай використовується при відправки звіту про помилку. Нульовий шлях повернення означає, що звіт про помилку, не потрібно. Його основною метою є не потрапити в ситуацію, в якій неможливо буде доставити трансферу туди і назад, тому що обидві адреси відправника і одержувача недоступні.
Одержувачі повідомлення визначається за допомогою команди «RCPT TO:
». Кожен адреса, укладений в кутові дужки. Повідомлення може мати багато одержувачів, і RCPT TO: команда відправляється для кожного з них. Ці RCPT TO: команди, не всі в заголовку повідомлення, які прибувають до місця призначення. У разі прихованих копій повідомлень або списку адрес серверів отримувача не будуть відображатися в заголовку взагалі.
Кожен одержувач визнається з відповіддю «250 OK». Одержувач також може бути відхилений при використанні відповіді з кодом 550 відповіді. Це залежить від того, як сервер був налаштований. Віддалений доступ до серверів провайдера SMTP може прийняти кожну команду RCPT TO :, навіть якщо вказану адресу, є недійсним, так як сервер не знає, що адреса невірний, доки він не сделаеь пошук DNS на ньому. Проте, поштовий сервер, призначений для прийому повідомлень для локальних користувачів або конкретної домену буде відкидати пошту для адрес, які не перебувають в цій області.
Можуть бути отримані й інші відповіді у відповідь на RCPT TO: повідомлення, що сервер SMTP був корисним. Якщо адреса неправильний, але сервер не знає правильну адресу він може відповісти «251 відвідувачі местний- направить
»Або« 551 Користувач не місцевий, спробуйте
». Зверніть увагу на різні коди відповідей означають що, сервер направляє повідомлення чи ні. Ці відповіді не є загальними, і поштовий клієнт може просто відправити відповідь 551, як помилку, а не намагатися аналізувати альтернативні адреси з тексту відповіді.
Для повноти картини слід зазначити, що команди RCPT TO: можуть задавати маршрути, а не просто адреси. Маршрут буде виражатися у вигляді «RCPT TO: ».
текст повідомлень.
Після того як всі одержувачі були вказані, все, що лишається зробити відправнику відправити повідомлення. Спочатку він відправляє команду «DATA», а потім чекає відповіді типу: «354 Start вхід пошти, з кінця .». Повідомлення буде відправлене як послідовності рядків тексту. Але не буде отримано підтверджень для кожного рядка, хоча відправник повинен стежити за відповіддю, який вказує на помилки.
В кінці повідомлення, що зазначено у відповіді зазначеному вище, період (точка) на лінії своїх власних. Таким чином, однією з найпростіших, але найважливіших речей, це то що поштовий клієнт повинен зробити - переконатися, що рядок, що містить один період не з`являється в самому тексті. В кінці повідомлення визнається з відповіддю «250 OK». Варто відмітити що SMTP ні в жодному разі не зацікавлений в утриманні повідомлення. Це може бути все що завгодно, хоча, строго кажучи, повідомлення не повинні містити будь-які символи з ASCII значеннями в діапазоні від 128 до 255, а рядки тексту не повинні перевищувати 1000 знаків. Так само не потрібно, щоб заголовки адреси відправника і одержувача, які використовували команди SMTP, що робить їх легкими для повідомлень, по всій видимості, прийшли від когось іншого, ніж справжній відправник.

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

Відео: Урок # 110. Поштові протоколи IMAP і POP3

P.P.S. Якщо у Вас є питання, бажання прокоментувати або поділитися досвідом, напишіть, будь ласка, в коментарях нижче.

Поділися в соц мережах:
Cхоже

Увага, тільки СЬОГОДНІ!