Почтовые сервисы, почтовые серверы, виды, типы...
Главная Совет Рассылки Спам
Протокол IMAP
Протокол POP3
Протокол SMTP
Протокол UUCP
Адресация
Почтовый клиент
Mozilla Mail
Mozilla Thunderbird
Netscape Mail
Novell GroupWise
Opera Mail
Outlook
Outlook Express
Eserv
WEB Почта
Будущее E-mail
order viagra

SMTP

Основная задача протокола 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

> Другие команды

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


Пошаговое прохождение электронной почты от отправителя получателю: 1) Создание письма 2) Соединение почтового клиента с smtp-сервером 3) Передача smtp-серверу информации о том, кому предназначается почта и кто является отправителем 4) Проверка smtp-сервером валидности данных об адресате и адресанте и принятие письма (с заголовками и телом письма) 5) Постановка письма в очередь доставки 6) DNS запрос о почтовых серверах (MX записи) для домена адресата 7) попытка соединения с почовыми серверами, имеющими наибольший приоритет, если не удалось, то попытка передать письмо на резервные почтовые сервера домена 8) Передача письма в случае удачного соединения с почтовым сервером домена адресата, либо попытки переслать письмо позже, в случае неудачи 9) Прием почтовым сервером домена адресата письма, передача его модулю, который занимается хранением писем и выдачей их адресатам по протоколу POP3, IMAP или другим 10) соединение адресата с POP3 или IMAP сервером, аутентификация и получение письма адресатом
Электронная почта (англ. E-mail либо email, сокр. от electronic mail) — способ передачи информации в компьютерных сетях, широко используется в Интернете. В сети Фидонет существует аналог электронной почты, называемый нетмейлом. Основная особенность электронной почты заключается в том, что информация отправляется получателю не напрямую, а через промежуточное звено — электронный почтовый ящик, который представляет собой место на сервере, где сообщение хранится, пока его не запросит получатель. В большинстве случаев для доступа к почтовому ящику требуется наличие пароля. Доступ к почтовому серверу может предоставляться как через почтовые программы, так и через веб-интерфейс.

copyrights 2007