Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Видео Unix Интернет Почта Краткое описание протокола SMTP RSS

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

Текущий рейтинг: 3 (проголосовало 4)
 Посетителей: 1034 | Просмотров: 1321 (сегодня 0)  Шрифт: - +
Введение

   Основная задача протокола 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:<mailto:drol@REMOVE-THIS-FAKE.mail.ru> `указываем получателя
        S: 250 OK


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

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


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

        S: 250 OK

        C: From: Drozd <mailto:drozd@REMOVE-THIS-FAKE.mail.ru>
        C: To: Drol <mailto:drol@REMOVE-THIS-FAKE.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 ничего не делает и никак не влияет на указанные до этого
       данные.

Иcточник: http://codenet.ru/  •  Опубликована: 05.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.