Соединившись с МТА, мы посылаем команду НЕЮ, передав ей в качестве аргумента имя домена, чтобы сообщить серверу, откуда мы пришли. Эта команда не обязательна, но если ее опустить, то МТА может присоединить к исходящему сообщению предупреждение, что клиент был невежлив и не поздоровался с ним. Чтобы сообщить серверу, кто является отправителем сообщения, вводится команда MAIL FROM, за которой следуют двоеточие, пробел и адрес электронной почты отправителя. В строке RCPT ТО указывается, кто должен получить сообщение электронной почты. Команда DATA позволяет составить сообщение, концом которого считается точка в отдельной строке. Команда QUIT завершает диалог с сервером и разрывает соединение.
Ответ сервера начинается с трех цифр, называемых кодом ответа (response code), за которым следует строка комментария. При разборе ответа сервера на этот код надо обратить пристальное внимание. Мы еще вернемся к кодам ответа сервера, когда будем говорить об отправке почты через удаленный сервер SMTP.
Теперь, когда мы знаем, как происходит доставка и извлечение сообщения электронной почты, посмотрим, как оно выглядит в действительности.
Сообщение электронной почты без тайн
Сообщение электронной почты является простым текстовым файлом. Это верно независимо от его содержания. Сообщение представляет собой последовательность строк текста, оканчивающихся парой символов CR/LF.
В UNIX строки текста оканчиваются одним символом перевода строки (\п), тогда как в Windows это два символа - возврата каретки (\г) и перевода строки (\п). Поэтому под UNIX при составлении сообщений в РНР можно употреблять только перевод строки (\п), но под Windows сообщения могут быть неправильно разобраны. Для универсальности следует придерживаться стандарта: использовать при составлении сообщений как CR, так и LF <\г\п).
Для начала освежим в памяти вид типичного сообщения электронной почты: Return-Path: <mailto:wankyu@whatever.com"> wankyu@whatever.com>
Received: from whatever.com (IDENT:wankyu@whatever.com[192.168.0.2]) by maU.spmewhere.com (8.9.3/8.9.3) with SMTP id WAA29446 foryonsuk; Sun, 28 Jan 2001 23:18:09 +0900 Date: Sun, 28 Jan 200123:18:09 +0900 Prom: Wankyu Choi <mailto:wankyu@whatever.com">wankyu@whatever.com> To: mailto:yonsuk@whoelse.com">yonsuk@whoelse.com
Message-Id: <mailto:F890755DE93ED411@whatever.com">F890755DE93ED411@whatever.com> Subject: Just a Note
Don't forget to bring your notebook tomorrow. Have a nice read.