Главной целью протокола Simple Mail Transfer Protocol (SMTP, RFC-821, -822) является надежная и эффективная доставка электронных почтовых сообщений. SMTP - это довольно независимая субсистема, требующая только надежного канала связи. Средой для SMTP может служить отдельная локальная сеть, система сетей или вся сеть Internet.
Протокол SMTP базируется на следующей модели коммуникаций: в ответ на запрос пользователя почтовая программа-отправитель устанавливает двухстороннюю связь с программой-приемником (TCP, порт 25). Получателем может быть конечный или промежуточный адресат. SMTP-команды генерируются отправителем и посылаются получателю. Для каждой команды должен быть получен отклик.
Когда канал организован, отправитель посылает команду MAIL, идентифицируя себя. Если получатель готов к приему сообщения, он посылает положительный отклик. Далее отправитель посылает команду RCPT, идентифицируя получателя почтового сообщения. Если получатель может принять сообщение для оконечного адресата, он снова выдает положительный отклик. В противном случае он отвергает получение сообщения для данного адресата, но не вообще почтовой посылки. Взаимодействие с почтовым сервером возможно и в диалоговом режиме.
В следующей таблице приведено несколько команд, которые используются в SMTP:
Команда | Функция |
Helo <сервер-отправитель> |
Идентифицирует SMTP-сервер отправителя |
Mail from: <адрес отправителя> |
Задает адрес отправителя |
Rcpt to: <адрес получателя> |
Задает адрес получателя |
Data |
Указывает на начало сообщения |
Rset |
Прерывает передачу сообщения |
Vrfy <строка> |
Проверяет имя пользователя |
Help [строка] |
Запрашивает on-line помощь |
Quit |
Завершает SMTP-сеанс |
Команды SMTP
После ввода команды Data пользователь вводит текст сообщения и как знак окончания ставит точку в пустой строке. Если письмо дошло до адресата, то выходит соответствующее сообщение. В противном случае выходит сообщение о том, что ящика адресата не существует, а на адрес отправителя приходит обратное письмо с текстом отправляемого сообщения.
Прямая доставка позволяет SMTP пересылать почту, не полагаясь на промежуточные хосты. Недостаток прямой доставки состоит в том, что на обоих кончах должны непрерывно поддерживать работу с почтой. Это не касается почтовых Интернет-серверов, поскольку они постоянно включены и настроены на непрерывную отправку-прием сообщений. Для считывания сообщенй с таких серверов на компьютеры пользователей применяется протокол POP.
Но не в каждой сети используется TCP/IP и SMTP. Чтобы предоставить пользователям услуги электронной почты в таких случаях, применяют так называемые почтовые шлюзы, которые дают возможность абоненту отправлять сообщения в сети, не работающие с протоколами TCP/IP (Fido, Goldnet, AT50).
2.2 Протокол POP (Post Office Protocol)
Протокол обмена почтовой информацией POP предназначен для разбора почты из почтовых ящиков пользователей на их рабочие места при помощи программ-клиентов. Если по протоколу SMTP пользователи отправляют корреспонденцию через Internet, то по протоколу POP пользователи получают корреспонденцию из своих почтовых ящиков на почтовом сервере.