37714

Протокол SMTP

Лабораторная работа

Информатика, кибернетика и программирование

Щоб доставити повідомлення до адресата необхідно переслати його поштовому серверу домену в якому знаходиться адресат. Сервер відповідає на кожну команду рядком що містить код відповіді і текстове повідомлення відокремлене пропуском. У результаті цього спам став практично нерозв'язною проблемою так як було неможливо визначити хто насправді є відправником повідомлення фактично можна відправити лист від імені будьякої людини. DT CRLF Вказує на початок повідомлення.

Украинкский

2013-09-25

805.5 KB

6 чел.

1.1

Протокол SMTP

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

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

SMTP використовується для відправки пошти від користувачів до серверів і між серверами для подальшої пересилки до одержувача. Для прийому пошти поштовий клієнт повинен використовувати протоколи POP3 або IMAP.

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

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

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

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

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

  2ХХ - команда успішно виконана

  3XX - очікуються додаткові дані від клієнта

  4хх - тимчасова помилка, клієнт повинен зробити наступну спробу через деякий час

  5хх - невиправна помилка

Текстова частина відповіді носить довідковий характер і призначений для людини, а не програми.

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

Безпека SMTP і спам

Спочатку SMTP не підтримував єдиної схеми авторизації. У результаті цього спам став практично нерозв'язною проблемою, так як було неможливо визначити, хто насправді є відправником повідомлення - фактично можна відправити лист від імені будь-якої людини. В даний час проводяться спроби вирішити цю проблему за допомогою специфікацій SPF, Sender ID, Yahoo Domain Keys. Єдиної специфікації на сьогодні не існує.

Команди SMTP

HELO <SP> <string><CRLF> — Ідентифікує SMTP-сервер відправника, відкриває сеанс

QUIT<CRLF> — Завершує SMTP-сеанс

MAIL <SP> FROM:<reverse-path> <CRLF> — Задає адресу відправника. Адресу слід вказувати в кутових дужках. Деякі сервери можуть проігнорувати те, що їм передають адресу без кутових дужок, але ті сервери, що детально виконують опис RFC, відхилять таку адресу.

RCPT <SP> TO:<forward-path> <CRLF> — Задає адресу одержувача. Адресу слід вказувати в кутових дужках. Деякі сервери можуть проігнорувати те, що їм передають адресу без кутових дужок, але ті сервери, що детально виконують опис RFC, відхилять таку адресу.

DATA <CRLF> — Вказує на початок повідомлення. Для завершення повідомлення вказується <CRLF>.<CRLF>

VRFY <SP> <string><CRLF> — перевіряє існування одержувача.

EXPN <SP> <string><CRLF> — показує перелік адрес для списку розсилки.

NOOP<CRLF> — пуста операція

TURN<CRLF> — сервер та клієнт міняються ролями после відповіді сервера 200 OK

RSET<CRLF> — скидання сесії в початковий стан

HELP<CRLF> — інформація про команди, які підтримуються. Деякі сервери підтримують довідку по окремим командам, наприклад, HELP MAIL (sendmail), деякі виводять за цією командою лише список можливих команд без пояснення (Microsoft Exchange Server)

Внаслідок проблем зі спамом, майже всі сучасні сервери ігнорують команди VRFY и EXPN, тому що вони розкривають інформацію про користувача.

Розширення ESMTP

RFC 1869 предписує починати сесію не командою HELO, а командою EHLO. У випадку, якщо сервер не підтримує розширений протокол, то він відповість на EHLO помилкою, в цьому разі клієнт повинен надіслати команду HELO і не використовувати розширення протоколу.

Якщо ж сервер підтримує ESMTP, то крім привітання він повідомить перелік підтримуємих розширень протоколу SMTP.

2.2 Протокол POP3

POP3 (англ. Post Office Protocol Version 3 - протокол поштового відділення, версія 3) використовується поштовим клієнтом для отримання повідомлень електронної пошти з сервера. Зазвичай використовується в парі з протоколом SMTP.

Попередні версії протоколу (POP, POP2) застаріли.

Стандарт протоколу POP3 визначений в RFC 1939. Розширення та методи авторизації визначені в RFC 2195, RFC 2449, RFC 1734, RFC 2222, RFC 3206, RFC 2595.

Існують реалізації POP3-серверів, що підтримують TLS та SSL.

Альтернативним протоколом для збору повідомлень з поштового сервера є IMAP.

Стани сеансу

У протоколі POP3 передбачено 3 стану сеансу:

Авторизація: клієнт проходить процедуру аутентифікації

Транзакція: клієнт отримує інформацію про стан поштової скриньки, приймає і видаляє пошту

Оновлення: сервер видаляє обрані листи і закриває з'єднання

Опис протоколу POP3

Конструкція протоколу РОРЗ забезпечує можливість користувачеві звернутися до свого поштового сервера та вилучити пошту, яка накопичилася для нього. Користувач може отримати доступ до РОР-серверу з будь-якої точки доступу до Інтернет. При цьому він повинен запустити спеціальний поштовий агент (UA), що працює по протоколу РОРЗ, та налаштувати його для роботи зі своїм поштовим сервером. Отже, на чолі моделі POP знаходиться окремий персональний комп'ютер, що працює виключно в якості клієнта поштової системи (сервера). Повідомлення доставляються клієнтові за протоколом POP, а надсилаються, як і раніше, за допомогою SMTP. Тобто на комп'ютері користувача існують два окремих агента-інтерфейсу до поштової системи - доставки (POP) і відправки (SMTP). Розробники протоколу РОРЗ називають таку ситуацію "роздільні агенти" (split UA). Концепція роздільних агентів коротко обговорюється в специфікації РОРЗ.

Команди POP3

APOP [ім’я] [digest]

Команда використовується для передачі серверу імені користувача та зашифрованого паролю (digest)

Аргументи

[ім’я] - рядок, який вказує ім’я поштового ящику.

[digest]- зашифрована паролем користувача по алгоритму MD5 мітка часу. Якщо ця команда підтримується, мітка часу одержується при з’єднанні з сервером:

+OK POP3 server ready <1896.698370952@meshach.smallorg.org>

Обмеження

Її підтримка не є обов’язковою.

Можливі відповіді

  •  +OK maildrop has n message
  •  -ERR password suplied for [ім’я] is incorrect

DELE [повідомлення]

Сервер позначає вказане повідомлення для видалення

Аргументи

[повідомлення] - номер сообщения.

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK message deleted
  •  -ERR no such message

LIST [повідомлення]

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

Аргументи

[повідомлення]-номер повідомлення (необов’язковий аргумент)

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK scan listing follows
  •  -ERR no such message

NOOP

Сервер нічого не робить, завжди відповідає позитивно

Аргументи

Немає.

Обмеження

Немає.

Можливі відповіді

  •  +OK

PASS [пароль]

Передає серверу пароль поштової скриньки

Аргументи

[пароль] - пароль для поштової скриньки

Обмеження

Працює після успішної передачі імені поштової скриньки.

Можливі відповіді

  •  +OK maildrop locked and ready
  •  -ERR invalid password
  •  -ERR unable to lock maildrop

RETR [повідомлення]

Сервер передає повідомлення з вказанным номером

Аргументи

[повідомлення] - номер повідомлення

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK message follows
  •  -ERR no such message

RSET

Якщо якісь повідомлення були позначені для видалення, то з них знімається ця мітка.

Аргументи

Немає.

Обмеження

Доступна після і до вдалої ідентифікації

Можливі відповіді

  •  +OK

STAT

Сервер повертає кількість повідомлень в поштовій скриньці плюс розмір поштової скриньки

Аргументи

Немає

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK a b

TOP [повідомлення] [кількість рядків]

Сервер повертає вказану кількість рядків після заголовку

Аргументи

[повідомлення] - номер повідомлення

[кількість рядків] – скільки рядків треба вивести

Обмеження

Доступна після вдалої ідентифікації

Можливі відповіді

  •  +OK n octets
  •  -ERR no such message

USER [ім’я]

Передає серверу ім’я користувача

Аргументи

[ім’я] - рядок, якмй вказує ім’я поштової скриньки

Обмеження

Немає.

Можливі відповіді

  •  +OK name is a valid mailbox
  •  -ERR never heard of mailbox name

QUIT

Аргументи

Немає.

Обмеження

Немає.

Можливі відповіді

  •  +OK

2.3

2.4

2.6

2.7

2.8

2.9

3.0

3.1

3.2

3.3

3.4

3.5

3.6

3.7


 

А также другие работы, которые могут Вас заинтересовать

31335. СПЕЦИФІКА ВИКОНАННЯ РЕНЕСАНСНОЇ ВОКАЛЬНОЇ МУЗИКИ В УМОВАХ ВІТЧИЗНЯНОЇ ХОРОВОЇ ПРАКТИКИ 3.14 MB
  ДАНЬШИНА Наталія Володимирівна СПЕЦИФІКА ВИКОНАННЯ РЕНЕСАНСНОЇ ВОКАЛЬНОЇ МУЗИКИ В УМОВАХ ВІТЧИЗНЯНОЇ ХОРОВОЇ ПРАКТИКИ 17. Інтерес до старовинної музики паростки якого можна побачити у так званих історичних концертах XIX століття активізувався на початку XX ст. Звернення насамперед саме до музики Бароко призвело до вкрай вкрай переконливого художнього репертуару: на засадах реконструкції відповідних епосі музичних інструментів та узлагодження з їх звучанням вокальної манери співаків дивовижно змінився...
31338. Культ Великой Матери богов Кибелы в греко-римской древности (К проблеме религиозного синкретизма в античности) 5.81 MB
  Археологические свидетельства безусловно важны но немы что с одной стороны предоставляет ученым широкий простор для построения различных гипотез а с другой стороны затрудняет их обоснование. Следует подчеркнуть что они очень неравномерно представлены по главным периодам античной истории наибольший объем литературных материалов приходится на римский период причем особый интерес к культу наблюдается на стыке старой и новой эпох и во времена поздней империи. Необходимо подчеркнуть что культовое обращение к Кибеле Пиндара в точности...
31339. СОЦИАЛЬНО-ПОЛИТИЧЕСКИЙ МИФ: ТЕОРЕТИКО-МЕТОДОЛОГИЧЕСКИЕ ПРОБЛЕМЫ 4.36 MB
  Отношение политического мифа к политической идеологии Миф в системе политической науки. Почитание предков и становление политической мифологии лидерства Мифологема Русская земля: целеполагание и пространственные рамки политического процесса Мифология отличного порядка. Общественное насилие над властью: мифология политического самоопределения социума Эволюция групповой идентичности крестьянства...
31340. ИНДОЕВРОПЕЙСКИЕ МИФОТРАДИЦИИ (НА МАТЕРИАЛАХ САКРАЛЬНЫХ ГЕНЕАЛОГИЙ) 2.04 MB
  Современная наука установила факт существования общеиндоевропейского языка праиндоевропейского этноса в виде племени или соплеменности праиндоевропейской культуры как реальности эпохи неолита....
31341. ПРОБЛЕМЫ ЛИНГВИСТИЧЕСКОЙ РЕКОНСТРУКЦИИ ГЕРМАНСКОЙ КОСМОГОНИИ 864.88 KB
  В синхронии основным методом семантической реконструкции является изучение контекста слова. Под контекстом имеется в виду не только непосредственное окружение слова, но и его дальние связи в пределах более крупных единств, например, строф, то есть объектом исследования оказываются как контактное, так и дистантное расположение лексем.
31342. ЛЕКСИКА КУХОННОЙ УТВАРИ И ПОСУДЫ В ОРЛОВСКИХ ГОВОРАХ 3.84 MB
  Комплексное исследование лексики кухонной утвари и посуды позволит предпринятому нами исследованию заполнить пустующую нишу в системе последовательных изысканий в области изучения различных тематических групп в орловских говорах: агентивной лексики Т. Наиболее изученной является эта область лексики в сибирских и северновеликорусских говорах. В разное время обращались к её описанию в томских говорах Ф.