Страница 3 из 4
Отправка почты
Отправка почты осуществляется по протоколу SMTP (Simple Mail Transfer
Protocol), который тоже использует понятные текстовые команды. Подключение к
SMTP-серверу осуществляется аналогичным образом, только для соединения
используется 25 порт. Но ответы сервера имеют другой формат, который
кодируется 3-значным числом. Каждая цифра в коде ответа несет определённый
смысл. Первая цифра означает, было ли выполнение команды успешно (2), неуспешно
(5) или еще не закончилось (3). Вторая цифра показывает категорию ошибки, а
третья идентифицирует конкретную ошибку. Основные коды, которые нам понадобятся
– это: 220 (SMTP-сервер готов к работе); 250 (успешное завершение
действия); 354 (ожидание ввода текста письма) и 221 (закрытие
сессии).
После установления соединения SMTP-сервер представляется нам (220 код).
Логично, что мы должны также представиться ему. Для этого используется команда
HELO. Единственным её аргументом является имя Вашего компьютера. То есть
Вы говорите: “Привет, я – test.kirov.ru”.
220-proxy.kirov.ru ESMTP Sendmail 8.12.6/8.12.6; Mon, 14 Jun 2004 12:00:00 +0300 (MSK)
220-Use of this system for the delivery of UCE (a.k.a. SPAM), or any other
220-message without the express permission of the system owner is prohibited.
220 Use of this system for third party relaying is prohibited.
HELO test.kirov.ru
250 proxy.kirov.ru Hello test.kirov.ru [167.15.230.25], pleased to meet you
В ответ сервер должен выдать код 250, сообщая о том, что команда принята и
обработана. Следующим шагом мы должны указать обратный адрес, на который письмо
вернётся в случае неудачи. Делается это при помощи команды MAIL FROM:
MAIL FROM: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
250 Ok
Далее необходимо указать получателя сообщения. Для этого используем команду
RCPT TO:. Если получателей несколько, то команда RCPT вводится несколько
раз.
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
250 Ok
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
550 Unknown user
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
250 Ok
После того как введены все RCPT, можно начинать передачу данных при помощи
команды DATA.
DATA
354 Enter mail, end with "." on a line by itself
Сервер отвечает кодом 354, сигнализируя, что передача данных разрешена, и
подсказывает, что конец передачи письма кодируется строкой, состоящей из одного
только символа – точки. При успешном приеме тела письма сервер выдаст код
250.
DATA
354 send the mail data, end with .
To: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
From: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Subject: Письмо
Первая строка письма
Вторая строка письма
Третья строка письма
Последняя строка письма
.
250 Ok
QUIT
221 Bye
Завершается почтовая сессия, как и в протоколе POP3, командой QUIT.
Сервер в свою очередь, отвечает кодом 221. Этот код подтверждает клиенту, что
соединение будет закрыто, после чего соединение действительно закрывается.
Вот пример полной почтовой SMTP-сессии:
220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
HELO USC-ISIF.ARPA
250 BBN-UNIX.ARPA
MAIL FROM:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
250 OK
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
250 OK
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
550 No such user here
RCPT TO:<Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
>
250 OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
To: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
From: Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Subject: Test
Hi!
This is a test message.
.
250 OK
QUIT
221 BBN-UNIX.ARPA Service closing transmission channel
|