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

Описание протокола SMTP Описание протокола SMTP Введение Бельбаков Александрhttp://msa.km.ru/ Основная задача протокола 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 ничего не делает и никак не влияет на указанные до этого данные.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...