Протокол SMTP

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

SMTP

SMTP(англ. Simple Mail Transfer Protocol - простий протокол передачі пошти) - це мережевий протокол, призначений для передачі електронної пошти в мережах TCP / IP.
Протокол SMTP був розроблений для обміну поштовими повідом-леннями в мережі Internet. SMTP не залежить від транспортного середовища і може використовуватися для доставки пошти в мережах із прото-колами, відмінними від TCP/IP і Х.25.

ESMTP

ESMTP(англ. Extended SMTP) - масштабоване розширення протоколу SMTP. В даний час під "протоколом SMTP", як правило, мають на увазі ESMTP і його розширення. SMTP використовується для відправки пошти від користувачів до серверів і між серверами для подальшого пересилання до одержувача. Для прийому пошти поштовий клієнт повинен використовувати протоколів POP3 або IMAP.

Щоб доставити повідомлення до адресата, необхідно переслати його поштового сервера домену, в якому знаходиться адресат. Для цього використовується запис типу MX (англ. Mail eXchange - обмін поштою) системи DNS. Якщо MX запис відсутній, то для тих же цілей може бути використана запис типу A. Деякі сучасні реалізації SMTP-серверів для визначення сервера, що обслуговує пошту в домені адресата, також можуть задіяти SRV-запис.

Широке поширення SMTP отримав на початку 1980-х років. До нього використовувався протокол UUCP, що вимагав від відправника знання повного маршруту до одержувача і явного вказівки цього маршруту в адресі одержувача, або наявності прямого комутованого або постійного з'єднання між комп'ютерами відправника та одержувача.

Інші пакунки пов'язані з esmtp

debconf (>= 0.5)
Система управліня конфігураційною системою Debian
libc6 (>= 2.6.1-1)
Бібліотека GNU C: спільні бібліотеки

Sendmail

Sendmail був одним з перших (якщо не першою) агентом відправки повідомлень, який почав працювати з SMTP. В даний час протокол SMTP є стандартним для електронної пошти і його використовують всі клієнти та сервери.

Протокол був розроблений для передачі тільки тексту в кодуванні ASCII, крім того, перші специфікації вимагали обнулення старшого біта кожного переданого байта. Це не дає можливості відсилати текст на національних мовах (наприклад, кирилиці), а також відправляти двійкові файли (наприклад, зображення, відеофайли, програми або архіви). Для зняття цього обмеження був розроблений стандарт MIME, який описує спосіб перетворення двійкових файлів у текстові. В даний час більшість серверів підтримують 8BITMIME, що дозволяє відправляти двійкові файли так само просто, як текст.

Сервер SMTP

Сервер SMTP - це кінцевий автомат з внутрішнім станом. Клієнт передає на сервер рядок команда <пробіл> параметри <новий рядок>. Сервер відповідає на кожну команду рядком, що містить код відповіді і текстове повідомлення, відокремлене пробілом. Код відповіді - число від 100 до 999, представлене у вигляді рядка, що трактує наступним чином:

   * 2хх - команда успішно виконана
   * 3XX - очікуються додаткові дані від клієнта
   * 4хх - тимчасова помилка, клієнт повинен зробити наступну спробу через деякий час
   * 5хх - фатальна помилка

Текстова частина відповіді носить довідковий характер і призначений для людини, а не програми. ESMTP - розширювана протокол, на відміну від SMTP. При встановленні з'єднання сервер оголошує про набір підтримуваних розширень (як відповідь на команду EHLO). Відповідні розширення можуть бути використані клієнтом при роботі. Необхідно пам'ятати, що якщо сесія починається з команди HELO (використовується в «класичному» SMTP, RFC 821), то список розширень виводитися не буде.

Tdrhzdfhfdhzd.png

Джерела інформації

http://www.codenet.ru/webmast/smtp.php

http://ru.wikipedia.org/wiki/SMTP