Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Описание протокола SMTP






Основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в том, чтобы обеспечивать передачу электронных сообщений (почту). Для работы через протокол SMTP клиент создаёт TCP соединение с сервером через порт 25. Затем клиент и SMTP сервер обмениваются информацией, пока соединение не будет закрыто или прервано. Основной процедурой в SMTP является передача почты (Mail Procedure). Далее идут процедуры форвардинга почты (Mail Forwarding), проверка имён почтового ящика и вывод списков почтовых групп. Самой первой процедурой является открытие канала передачи, а последней - его закрытие.

Команды SMTP указывают серверу, какую операцию хочет произвести клиент. Команды состоят из ключевых слов, за которыми следует один или более параметров. Ключевое слово состоит из 4-х символов и разделено от аргумента одним или несколькими пробелами. Каждая командная строка заканчивается символами CRLF. Вот синтаксис всех команд протокола SMTP (SP - пробел):

 

HELO < SP> < domain> < CRLF>

MAIL < SP> FROM: < reverse-path> < CRLF>

RCPT < SP> TO: < forward-path> < CRLF>

DATA < CRLF>

RSET < CRLF>

SEND < SP> FROM: < reverse-path> < CRLF>

SOML < SP> FROM: < reverse-path> < CRLF>

SAML < SP> FROM: < reverse-path> < CRLF>

VRFY < SP> < string> < CRLF>

EXPN < SP> < string> < CRLF>

HELP < SP> < string> < CRLF>

NOOP < CRLF>

QUIT < CRLF>

 

Обычный ответ SMTP сервера состоит из номера ответа, за которым через пробел следует дополнительный текст. Номер ответа служит индикатором состояния сервера.

Отправка почты

Первым делом подключаемся к SMTP серверу через порт 25. Теперь надо передать серверу команду HELLO и наш IP адрес:

 

C: HELLO 195.161.101.33

S: 250 smtp.mail.ru is ready

 

При отправке почты передаём некоторые нужные данные (отправитель, получатель и само письмо):

 

C: MAIL FROM: < drozd> 'указываем отправителя

S: 250 OK

 

C: RCPT TO: < drol@mail.ru> 'указываем получателя

S: 250 OK

 

Указываем серверу, что будем передавать содержание письма (заголовок и тело письма)

 

C: DATA

S: 354 Start mail input; end with < CRLF>.< CRLF>

 

Передачу письма необходимо завершить символами CRLF.CRLF

 

S: 250 OK

 

C: From: Drozd < drozd@mail.ru>

C: To: Drol < drol@mail.ru>

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 ничего не делает и никак не влияет на указанные до этого данные.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал