|
Все для программиста! |
| ||||||||||||||||||||||||||||||||
|
Описание протокола SMTPВведениеАлександр Бельбаков, HiProg.com "Технологии программирования"
Основная задача протокола 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 > Другие команды
Комментарии пользователей (всего 24)Максим САМОЙЛОВ / 18 сентября 2009, 00:11:03КОМЕНТАРИЙ НЕТ -ТА ЖЕ ПРОБЛЕМА ЧТО И У ОСТАЛЬНЫХ. НЕ МОГУ ПЕРЕДАТЬ СНИМКИ С КОМПА НА КОМП. узел SMTR-е найден и т.д.как и у остальных. в чем дело? почему у всех все одинаково? что-то с системой повидимому-или инструкции не то говорят что нужно делать. делаю все так как написано в книге -виндовс для чайников- но все бестолку. не могу ничего передать.langer@mail.ru пакахондас / 06 мая 2007, 05:30:32Для прохождения авторизации набирайте не HELO ,а EHLO: Zanna / 28 апреля 2006, 19:50:23У меня такие же проблему как у Антона Григорий / 18 апреля 2006, 21:28:00Узел 'SMTP' не найден. Проверьте введенное имя сервера. Учетная запись: 'IMAR', Сервер: 'SMTP', Протокол: SMTP, Порт: 25, Защита (SSL): Нет, Ошибка сокета: 11001, Код ошибки: 0x800CCC0D ольга / 16 апреля 2006, 17:41:47Узел "SMTP" не найден.Проверьте введенное имя сервера. Учетная запись: "POP3",Сервер:"SVNP". Протокол; SMTP, ПОРТ:25, Защита(SSL):Нет. Ошибка сокета 11001, код ошибки:Oх800СССОD Любитель / 20 марта 2006, 13:41:39теперь smtp.mail.ru требует авторизации Ламердед / 21 января 2006, 14:22:59aa, чтобы файл отправлять - он кодируеться в базу64 и такжепередаеться.... Ламердед / 21 января 2006, 14:21:23каму там на винапи нада.. Тимур / 29 декабря 2005, 14:05:29Интересно было бы посмотреть на примере исходника (желательно на WinAPI), как отправлять прикрепленный файл. А то в данной статье нету ни одного слова про это. юля / 25 декабря 2005, 03:49:38Возникла такая же проблема, как у Марины 05.06.2005г. Отображены только последние 10 комментариев. Читать все комментарии >> |