Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
net_tech / Лабораторнаработа 5 (E-mail).doc
Скачиваний:
27
Добавлен:
10.12.2013
Размер:
269.82 Кб
Скачать

Основные команды протокола smtp

Для пересылки почтовых сообщений через Интернет между транспортными агентами и от MUA к MTA (см. рис. 4.1) используется протокол SMTP (Simple Mail Transfer Protocol).

Номер порта сервера SMTP - TCP/25. После установления соединения с клиентом сервер ожидает ввода команд и данных в текстовом виде. Строчные и прописные буквы в командах не различаются. Реакция сервера заключается в трехзначном числовом коде, снабженном текстовым комментарием.

Числовой код предназначен для автоматической обработки ответов сервера программой-клиентом. Код, начинающийся на 2, является положительным ответом, на 3 - промежуточным положительным откликом (т.е. после ввода команды ожидаются дополнительные данные), коды вида 5хх сигнализируют об ошибке.

Основные команды SMTP:

HELO hostname

- первая команда сеанса, hostname - доменное имя вызывающего хоста (клиента).

MAIL FROM: email_адрес_от_кого

- обратный адрес.

RCPT TO: email_адрес_кому

- адрес получателя (в случае нескольких адресатов команда повторяется для каждого адресата).

DATA

- начало ввода текста сообщения; сервер посылает промежуточный положительный отклик 354 и рассматривает все последующие строки в качестве текста (тела) сообщения; конец ввода - строка состоящая из одной точки. Перед текстом сообщения вводятся поля заголовка (см. выше п. Структура email-сообщения). Каждое поле заголовка должно начинаться с новой строки. Между заголовком и текстом сообщения должна быть одна пустая строка.

Vrfy email_адрес

- выдается положительный отклик (250,251 или 252), если сервер может попытаться доставить сообщение по указанному адресу; иначе выдается отрицательный отклик 550. Если email_адрес - не локальный адрес на сервере, то положительный отклик не обязательно означает, что этот адрес существует. Для локальных адресов производится подстановка из файла /etc/aliases (если адрес там указан) и в поле текстового комментария выводится результат, часто к нему добавляется настоящее имя пользователя.

EXPN email_addr

- если email_addr - локальный адрес списка рассылки, то вывести адреса в этом списке; иначе поведение команды не определено. Как правило, если email_addr - локальный адрес, то выполняется подстановка из файла /etc/aliases (если там этот адрес указан); иначе просто выдается положительный отклик 250.

RSET

- сброс сеанса к начальному состоянию (как после ввода HELO).

QUIT

- конец связи.

Команды EXPN и VRFY не обязательно выполняются сервером; часто их отключают из соображений секретности. Для передачи почты эти команды не нужны; фактически, они предназначены для человека. Действия этих команд в стандарте четко не определены и их реализация не является обязательной.

Сущетсвуют также дополнительные команды - так называемый Расширенный SMTP (ESMTP). Не все серверы поддерживают команды ESMTP и каждый сервер может поддерживать какое-то свое подмножетсво ESMTP-команд, в том числе нестандартных. Для того, чтобы выяснить, какие дополнительный команды поддерживаются, следует вместо HELO подать команду EHLO.