Наш ассоциированный член www.Bikinika.com.ua

протокол SMTP

2.2. протокол SMTP

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

Модель протоколу. Взаємодія в рамках SMTP будується за принципом двостороннього зв'язку, яка встановлюється між відправником і отримувачем поштового повідомлення. При цьому відправник ініціює з'єднання і посилає запити на обслуговування, а одержувач на ці запити відповідає. Фактично, відправник виступає в ролі клієнта, а одержувач - сервера.

Фактично, відправник виступає в ролі клієнта, а одержувач - сервера

Мал. 2.2. Схема взаємодії за протоколом SMTP

Канал зв'язку встановлюється безпосередньо між відправником і отримувачем повідомлення. При такій взаємодії пошта сягає абонента протягом декількох секунд після відправки.

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

Найбільш поширеною дисципліною є відправка поштового повідомлення, що починається по команді MAIL, що ідентифікує відправника:

MAIL FROM: [email protected] Наступною командою визначається адреса одержувача: RCPT TO: [email protected]

Після того, як визначено відправник і одержувач поштового повідомлення, можна відправляти останнє:

DATA

Команда DATA вводиться без параметрів і ідентифікує початок введення поштового повідомлення. Повідомлення вводиться до тих пір, поки не буде введена рядок з точкою в першій позиції. Відповідно до стандарту поштового повідомлення RFC822 відправник передає заголовок і тіло повідомлення, які розділені символом нового рядка. Сам протокол SMTP не накладаються будь-яких обмежень на інформацію, яка міститься між командою DATA і "." в першій позиції останнього рядка. Наведемо приклад обміну повідомленнями при дисципліні відправки пошти:

S: MAIL FROM: <[email protected]> R: 250 Ok S: RCPT TO: <[email protected]> R: 250 Ok S: DATA R: 354 Start mail input; end with <CRLF>. <CRLF> S: Це текст поштового повідомлення S:. R: 250

Інший дисципліною, визначеної в протоколі SMTP є перенаправлення поштового повідомлення (forwarding). Якщо одержувач не знайдений, але відомо його місце розташування, то сервер може видати повідомлення:

R: 251 User not local; will forward to <[email protected]>

Якщо сервер може зробити тільки припущення про подальшу розсилці, то відповідь буде трохи іншим:

R: 551 User not local; please try <[email protected]>

Верифікація і розширення адрес складають дисципліну верифікації. У ній використовуються команди VRFY і EXPN. За командою VRFY сервер підтверджує наявність або відсутність зазначеного користувача:

S: VRFY paul R: 250-Paul Khramtsov <[email protected]>

Використовуючи команду EXPN можна отримати список місцевих користувачів:

S: EXPN Example-People R: 250-Paul Khramtsov <[email protected]> R: 250-Vladimir Drach-Gorkunov <[email protected]>

У список дисциплін, дозволених протоколом SMTP входить крім відправки пошти ще й пряма розсилка повідомлень. У цьому випадку повідомлення буде відправлятися не в поштову скриньку, а безпосередньо на термінал користувача, якщо користувач в даний момент знаходиться за своїм терміналом. Пряма розсилка здійснюється по команді SEND, яка має такий же синтаксис, як і команда MAIL. Крім SEND пряму розсилку здійснюють SOML (Send or Mail) і SAML (Send and Mail). Призначення цих команд легко зрозуміти з їх назви.

Для ініціалізації каналу обміну поштою і його закриття використовуються команди HELO і QUIT відповідно. Першою командою сеансу повинна бути команда HELO.

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

Якщо повідомлення з будь-якої причини не може бути розіслано, то одержувач формує повідомлення про неразосланних повідомленні:

S: MAIL FROM: <> R: 250 Ok S: RCPT TO: <@ host.domain: [email protected]> R: 250 Ok S: DATA R: 354 send the mail data, end with. S: Date 23 Oct 95 11:23:30 S: From: [email protected] S: To: <[email protected]> S: S: Undelivered message. Your message lost. 550 No such user. S:.

При використанні доменних імен слід використовувати канонічні імена, тому що деякі системи не можуть визначити синонім по базі даних named.

Крім вищезазначених змагань протокол дозволяє відправнику і одержувачу мінятися ролями один з одним. Відбувається це за командою TURN.

Для налагодження або перевірки з'єднання з SMTP можна використовувати telnet. Для цього слідом за адресою машини слід ввести номер порту:

/ Users / local> telnet apollo.polyn.kiae.su 25

25 порт використовується в Internet для обміну повідомленнями по протоколу SMTP. В інтерактивному режимі користувач сам зображує клієнта SMTP і може подивитися реакцію віддаленої машини на його дії.

назад | зміст | вперед

Copyright © CIT

Спонсори:

Хостинг:



Новости