Следует помнить, что сервер получения не используется для передачи почты. Передачей сообщений занимаются другие серверы, реализующие SMTP или другой протокол аналогичного назначения. Но на компьютере может присутствовать как сервер передачи, так и сервер получения. Поэтому пользователь может передавать и получать письма посредством одного и того же узла сети, но использовать при этом различные протоколы. В некоторых случаях сервер передачи и сервер получения располагаются на разных компьютерах. Например, на узле franklin.pangaea.edu
может быть установлен сервер SMTP, используемый для передачи писем, а на компьютере ponyexpress.pangaea.edu
— сервер получения (POP или IMAP). На узле ponyexpress.pangaea.edu
также может присутствовать сервер SMTP, но использоваться лишь для получения почты от других серверов передачи.
Хранение писем на стороне клиента и на стороне сервера
Как было сказано ранее, одна из функций сервера, реализующего протокол получения почты, состоит в том, чтобы хранить сообщения до тех пор, пока пользователь не обратится за ними. Когда клиент-программа обращается к серверу, почтовые сообщения копируются на клиентскую машину. На первый взгляд может показаться, что при этом они должны удаляться с сервера, однако так происходит не всегда. Ниже описаны случаи, когда целесообразно оставлять копии сообщений на сервере.
• При получении почты с двух различных компьютеров. В этом случае многие предпочитают оставлять копии сообщений на сервере, независимо от того, применяют ли они протокол POP или IMAP. Следует заметить, что при использовании протокола POP накопившиеся на сервере сообщения вскоре начинают мешать работе, так как POP предоставляет очень несовершенные средства для идентификации отдельных сообщений и их обработки.
• При использовании протокола IMAP. В этом случае есть возможность организовывать "папки" сообщений на сервере. Поэтому, если вы работаете на различных компьютерах, вы можете разместить сообщения на сервере удобным вам способом и не испытывать ненужных трудностей, возникающих вследствие дублирования сообщений. IMAP также предоставляет возможность копировать на пользовательский компьютер только заголовки сообщений (содержащие, в частности, адрес отправителя и тему письма), поэтому для просмотра корреспонденции с помощью данного протокола не требуется высокая пропускная способность линии связи.
В некоторых случаях различия между POP и IMAP несущественны для пользователя, но иногда они играют решающую роль при выборе протокола. Если вы всегда работаете на одном и том же компьютере и хотите хранить почтовые сообщения на локальной машине, вам подойдет как POP, так и IMAP. Если же вам приходится работать на разных машинах или если, работая на одном компьютере, вы используете различные программы просмотра почты, протокол IMAP будет более удобен для вас. Следует заметить, что при хранении писем на сервере для их просмотра требуется больше времени, особенно если вам необходимо часто обращаться к старым письмам. Как правило, для организации сервера IMAP требуется больший объем диска и более высокая пропускная способность соединения, чем для сервера POP, поэтому, если вам не нужны специальные возможности IMAP, лучше использовать для получения почтовых сообщений протокол POP.
Пример сеанса взаимодействия по протоколу POP
На самом деле POP — это несколько взаимодействующих между собой протоколов. На сегодняшний день наиболее популярна версия POP-3, которая использует TCP-порт 110. (Более ранняя версия POP-2 использовала порт 109.) Подобно многим другим протоколам, применяемым в Internet, POP-взаимодействие основано на обмене текстовыми сообщениями между клиентом и сервером. В POP-3 предусмотрено более десяти команд. Среди них можно отметить команды USER
(указание имени пользователя), PASS
(указание пароля), RETR
(получение сообщения), DELE
(удаление сообщения) и QUIT
(завершение сеанса). Пример простого сеанса POP-взаимодействия, в ходе которого клиент получает с сервера одно письмо, представлен в листинге 11.1. В данном примере для обращения к серверу POP-3 и ввода необходимых команд вручную использовалась клиентская программа telnet
. Программы просмотра почты скрывают от пользователя реальный ход обмена и предоставляют лишь конечные результаты.
Листинг 11.1. Пример сеанса взаимодействия по протоколу POP-3
$ telnet nessus 110
Trying 192.168.1.3...
Connected to nessus.rodsbooks.com.
Escape character is '^]'.
+OK POP3 nessus.rodsbooks.com v7.64 server ready
USER rodsmith
+OK User name accepted, password please
PASS password