Возможно, вам встречался еще один акроним - MRA (Mail Retrieval Agent) - агент получения сообщений. Этот термин не является общепринятым, но часто употребляется в отношении программы или службы, осуществляющих выемку электронной почты из почтового ящика на удаленном сервере и передачу ее в MUA по одному из двух протоколов: POP или IMAP. Детали этих протоколов мы рассмотрим в следующей главе.
Как мы видим, в обработке электронной почты участвуют различные программные агенты. Как и люди, чтобы выполнить свою работу, они должны пользоваться общим языком, которым и является протокол.
SMTP
Когда MUA доставляет сообщение электронной почты МТА, они общаются между собой на одном языке, который называется простым протоколом электронной почты, (SMTP). Как говорит само название, понять SMTP очень просто. Посмотрим, как работает SMTP. Если подключиться по telnet к порту 25 сервера исходящей почты, можно непосредственно общаться с МТА. Если в настройках не указано иное, то МТА должны слушать порт с номером 25. Жирным шрифтом выделены команды SMTP, которые вводит клиент, т. е. в данном случае вы:
telnet Trying 192.168.0.1
Connected to Escape character is
220 somewhere.com ESMTP Sendmail 3.9.3/3.9.3; Sun, 23 Jan 2001 22:30:55 +0900 HELO whatever.com
250 whatever.com Hello IDENT:wankyu@whatever,com [192.168.0.2], Pleased to meet
you
MAIL FROM: mailto:wankyu@whatever.com">wankyu@whatever.com 250 mailto:wankyu@whatever.com">wankyu@whatever.com... Sender ok RCPTTO: mailto:yonsuk@whoelse.com">yonsuk@whoelse.com 250 mailto:yonsuk@whoelse.com">yonsuk@whoelse.com... Recipient ok DATA
354 Enter mail, end with on a line by itself
Subject: Just a Note
forget to bring your notebook Have a nice read.
250 WAA29446 Message accepted for delivery QUIT
221 whatever.com closing connection
Connection closed by foreign host.
#
SMTP представляет собой строчно-ориентированный протокол. Как клиент, так и сервер передают команды и ответы на них в виде строк символов, завершающихся парой символов «возврат каретки/перевод строки» (CR/LF). Строчно-ориентированные протоколы легко понимать и изучать. Для анализа ответа сервера, например, достаточно ввести соответствующее регулярное выражение.
Как видно из приветствия, МТА, с которым мы соединились, поддерживает протокол ESMTP (Extended Simple Mail Transfer Protocol), расширяющий базовый набор команд SMTP некоторыми дополнительными. Поскольку команды ESMTP представляют собой надмножество команд SMTP, то все команды, с помощью которых мы посылаем электронную почту, непосредственно общаясь с сервером, сохраняют свою работоспособность.