КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Протокол SMTPОсновне завдання протоколу SMTP (Simple Mail Transfer Protocol) полягає в тому, щоб забезпечувати передачу електронних повідомлень (пошаную). Для роботи через протокол SMTP клієнт створює TCP з'єднання з сервером через порт 25. Потім клієнт і SMTP сервер обмінюються інформацією поки з'єднання не буде закрито або перерване. Основною процедурою в SMTP є передача пошти (Mail Procedure). Далі йдуть процедури форвардінга пошти (Mail Forwarding), перевірка імен поштової скриньки і виведення списків поштових груп. Найпершою процедурою є відкриття каналу передачі, а останньою - його закриття.
Команди SMTP указують серверу, яку операцію хоче провести клієнт. Команди складаються з ключових слів, за якими слідує один або більш за параметри. Ключове слово состот з 4-х символів і розділено від аргументу одним або декількома пропусками. Кожен командний рядок закінчується символами CRLF. Ось синтаксис всіх команд протоколу SMTP (SP - пропуск):
HELO MAIL FROM: RCPT TO: DATA RSET SEND FROM: SOML FROM: SAML FROM: VRFY EXPN HELP NOOP QUIT
Звичайна відповідь SMTP сервера складається з номера відповіді, за якою через пропуск слідує додатковий текст. Номер відповіді служить індикатором стану сервера.
Відправка пошти
Насамперед підключаємося до SMTP серверу через порт 25. Тепер треба передати серверу команду HELLO і наш IP адреса:
C: HELLO 195.161.101.33 S: 250 smtp.mail.ru is ready
При відправці пошти передаємо деякі потрібні дані (відправник, одержувач і само лист):
C: MAIL FROM: 'указуємо відправника S: 250 OK
C: RCPT TO: 'указуємо одержувача S: 250 OK
указуємо серверу, що передаватимемо зміст листа (заголовок і тіло листа)
C: DATA S: 354 Start mail input; end with .
передачу листа необхідно завершити символами CRLF.CRLF
S: 250 OK
C: From: Drozd C: To: Drol C: Subject: Hello
між заголовком листа і його текстом не одна пара CRLF, а дві.
C: Hello Drol! C: You will be die on next week!
закінчуємо передачу символами CRLF.CRLF
S: 250 OK
Тепер завершуємо роботу, відправляємо команду QUIT:
S: QUIT C: 221 smtp.mail.ru is closing transmission channel
< Другие>
* SEND - використовується замість команди MAIL і указиаєт, що пошта повинна бути доставлена на термінал користувача. * SOML, SAML - комбінації команд SEND або MAIL, SEND і MAIL відповідно. * RSET - указваєт серверу перервати виконання поточного процесу. Всі збережені дані (відправник, одержувач і др) віддаляються. Сервер повинен відправити позитивну відповідь. * VRFY - просить сервер перевірити, чи є переданий аргумент ім'ям користувача. У разі успіху сервер повертає повне ім'я користувача. * EXPN - просить сервер підтвердити, що переданий аргумент - це список поштової групи, і якщо так, то сервер виводить членів цієї групи. * HELP - запрошує у сервера корисну допомогу про передану як аргумент команду. * NOOP - на виклик цієї команди сервер повинен позитивно відповісти. NOOP нічого не робить і ніяк не впливає на вказаних до цього дані.
|