Все о почте





Доступно о протоколе SMTP

Автор Александр Бельбаков   
26.10.2006 г.

Основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в том, чтобы обеспечивать передачу электронных сообщений (почту). SMTP протокол является основой электронной почты, раскроем эту тему поподробнее.

Для работы через протокол 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:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
 > 'указываем получателя
S: 250 OK

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

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

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

S: 250 OK 

C: From: Drozd <Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
 > 
C: To: Drol <Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
 >
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

Другие команды SMTP протокола

  • SEND - используется вместо команды MAIL и указыает, что почта должна быть доставлена на терминал пользователя.
  • SOML, SAML - комбинации команд SEND или MAIL, SEND и MAIL соответственно.
  • RSET - указвает серверу прервать выполнение текущего процесса. Все сохранённые данные (отправитель, получатель и др) удаляются. Сервер должен отправить положительный ответ.
  • VRFY - просит сервер проверить, является ли переданный аргумент именем пользователя. В случае успеха сервер возвращает полное имя пользователя.
  • EXPN - просит сервер подтвердить, что переданный аргумент - это список почтовой группы, и если так, то сервер выводит членов этой группы.
  • HELP - запрашивает у сервера полезную помощь о переданной в качестве аргумента команде.
  • NOOP - на вызов этой команды сервер должен положительно ответить. NOOP ничего не делает и никак не влияет на указанные до этого данные.
 
« Описание протокола передачи почты SMTP

Какой формат писем вы предпочитаете?




Форум

Google обновила интерфейс Gmail
Интернет-компания Google обновила интерфейс своего почтового сервиса G...
Автор: Последние новости
[email protected]:50
Интернет-компания Google обновила интерф...
Интернет-компания Google обновила интерфейс своего почтового сервиса G...
Автор: Последние новости
[email protected]:20
Google выпустит приложение Gmail для iOS
MG Siegler передаёт, что Google планирует в ближайшее время выпустить ...
Автор: Последние новости
[email protected]:08
подскажите!
Можно только то, что тут: http://help.mail.ru/agent-help/posts/arch...
Автор: Drema
[email protected]:49
подскажите!
неужели никто не может ответить? или я куда-то не туда написала?
Автор: Shadira
[email protected]:03
дублирование
Обычный глюк на сервере :) ------------------ народне лікування ...
Автор: reacnhappy
[email protected]:56
проблема при создании ответа, нового пис...
поставьте нормальную версию офиса, у вас она не правильно хакнутая - б...
Автор: Drema
[email protected]:41
проблема при создании ответа, нового пис...
Здрасте, обнаружил проблему с outllook'ами 2007 и 2010 - при создан...
Автор: TSstalin
[email protected]:16
© 2006-2022 AboutMail.ru