CommuniGate Pro
Версия 6.3
 

Модуль POP

В модуле POP CommuniGate Pro реализован функционал Сервера по протоколу POP3. POP3 сервера позволяют клиентским приложениям (почтовым программам) получать сообщения из папок пользователя, используя Интернет протокол POP3 (STD0053, RFC1939, RFC1734, RFC1725) через TCP/IP сети.

POP модуль CommuniGate Pro поддерживает также несколько расширений протокола, включая расширение XTND XMIT. Некоторые почтовые программы могут использовать эти расширения при отправке сообщений на Сервер CommuniGate Pro.



Протокол Почтового Отделения (POP3)

Протокол Почтового Отделения POP3 позволяет компьютерам забирать сообщения из папок на почтовом сервере. Компьютер, на котором запущено приложение - почтовая программа (почтовый клиент), устанавливает соединение с компьютером почтового сервера и сообщает ему имя пользователя и пароль. Если указанному пользователю предоставляется доступ, то почтовое приложение сможет отправлять на почтовый сервер команды. Команды протокола указывают серверу выдать список всех сообщений в папке, загрузить определённые сообщения или удалить их. Когда сервер получает запрос на загрузку сообщения, он отправляет всё сообщение почтовому клиенту. Почтовый клиент может решить загрузить только первую часть сообщения.

Протокол POP3 не может работать с пользователями, у которых есть несколько папок. Если клиентское приложение представляется пользователем, у которого есть несколько папок, то будет открываться папка INBOX.

Когда клиентское приложение отправляет запрос на удаление сообщения из папки, сервер не удаляет сообщение немедленно, а специальным образом помечает его. Только когда клиентское приложение заканчивает сессию надлежащим образом и закрывает соединение, помеченные сообщения удаляются.

Модуль POP поддерживает расширение POP протокола XTND XMIT. Это расширение позволяет пользователям использовать POP протокол для отправки сообщений вместо SMTP протокола.


Настройка Модуля POP

Для того, чтобы настроить параметры модуля POP, используйте Веб Интерфейс Администратора. Откройте страницу Доступ в разделе Установки:

Обработка
Уровень Журнала: Каналы: Приёмник
Используйте эту настройку, чтобы указать, какую информацию модуль POP должен сохранять в Журнале работы Сервера. Обычно используется уровень Основное (отчёты о передаче сообщений) или уровень Проблемы (передача сообщений и не фатальные ошибки). В случае, если в работе POP модуля возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня Подробности или Всё: в этом случае в Журнал работы Сервера будет также записываться более подробная информация о работе модуля на уровне протокола или на уровне соединения. Когда проблема решена, верните настройку Уровень Журнала в её обычное значение, иначе Системный Журнал будет очень быстро увеличивать свой размер.

Записи, помещённые модулем POP в Журнал работы Сервера, имеют пометку POP.

Когда вы указываете ненулевое значение в настройке Максимальное число Каналов, модуль POP создаёт так называемый "Приёмник". Модуль начинает принимать все POP соединения, которые устанавливают клиенты для того, чтобы получать почту с вашего Сервера. Эта настройка используется, чтобы ограничить число соединений, которое может обслуживать модуль POP одновременно. Если открыто предельное число соединений, модуль будет отказывать в приёме новых соединений. В этом случае почтовые клиенты должны попытаться соединиться позднее.

По умолчанию, Приёмник модуля POP принимает незашифрованные соединения на TCP порт 110. Стандартным номером TCP порта для безопасных POP соединений является порт номер 995, однако, по умолчанию он отключён. Нажмите на ссылку Приёмник для того, чтобы настроить порт Приёмника POP.

Модуль POP поддерживает команду STARTTLS, которая позволяет почтовому клиенту устанавливать соединение в незащищённом режиме и затем переводить его в режим безопасного соединения.


Аутентификация Пользователя

POP модуль позволяет пользователям использовать все Методы Аутентификации, поддерживаемые Сервером CommuniGate Pro, наряду с методом APOP.

Настройки Пользователя могут быть использованы для ограничения частоты подключений клиента POP.


Безопасный Доступ

Модуль POP может использоваться для приёма SSL/TLS (зашифрованных) соединений от почтовых программ пользователя (смотрите комментарий о настройках Приёмника выше). Дополнительно POP модуль поддерживает команду STLS, которая позволяет клиентским почтовым программам устанавливать незащищённое, нешифрованное соединение (на стандартном TCP порту 110), и затем инициировать шифрование трафика по этому соединению.

Специальные Возможности

В отличие от большинства почтовых серверов, POP модуль CommuniGate Pro не "блокирует" папку, которую он открывает по требованию клиентской почтовой программы. Открытая папка может одновременно использоваться другими клиентскими приложениями. Дополнительную информацию смотрите в разделе Папки.

Так как протокол POP3 не предназначался использования таким образом, то модуль POP CommuniGate Pro:

  • показывает только те сообщения в папке, которые существовали на момент открытия папки клиентской почтовой программой; все новые сообщения, полученные в течение сессии, будут видны POP клиенту только при его следующем соединении с папкой;
  • сохраняет зомби-сообщения вместо сообщений, удалённых в текущей сессии; модуль показывает их как сообщения, имеющие нулевой размер и выдаёт ошибку, если клиентское приложение пытается загрузить удалённое сообщение;

Когда клиентская почтовая программа получает сообщение при помощи команды RETR, то сообщению ставиться флаг "Seen" (это изменение может быть заметно при одновременном использовании IMAP или XIMSS клиента, работающего с той же папкой). Команда TOP, которая позволяет клиентской почтовой программе получить только первую часть сообщения, не проставляет флаг "Seen".

В модуле POP реализована также команда "пустой AUTH" (команда AUTH без параметров), которая возвращает список поддерживаемых методов SASL.


Расширение XTND XMIT

В Модуле POP CommuniGate Pro реализовано расширение POP протокола XTND XMIT. Почтовые приложения, поддерживающие это расширение (такие, как Eudora®), могут отправлять сообщения на Сервер через POP соединение.

Эта возможность может быть полезна мобильным пользователям CommuniGate Pro, которые могут оказаться не в состоянии отправлять свои сообщения через SMTP из-за ограничений, накладываемых применяемой схемой защиты от спама. Отправка сообщений через POP может быть более удобной в случае, если используется схема "запоминания адреса", так как при этом методе отсутствуют ограничения по времени.


Предупреждения

В POP3 протоколе не предусмотрена возможность отправки клиентской почтовой программе предупреждений. Если пользователя ожидает какое-нибудь предупреждающее сообщение, то POP модуль CommuniGate Pro просто отвергает запрос на установление соединение после аутентификации пользователя.

В возвращаемой ошибке содержится текст предупреждения:

ALERT: текст предупреждающего сообщения

Когда пользователь повторяет попытку соединения, то следующее ожидающее его предупреждение так же будет показано ему как сообщение об ошибке - и так до тех пор, пока все предупреждения не будут отосланы пользователю.


Доступ к Дополнительным Папкам

В отличие от протокола IMAP, протокол POP3 создавался только для обеспечения доступа к одной папке Пользователя - папке INBOX.

Тем не менее модуль POP позволяет пользователю получать доступ к любой папке пользователя, просто указав её имя как часть имени пользователя. Для доступа к папке mailboxname пользователя accountname, имя пользователя указывается как mailboxname#accountname:

Имя Пользователя
(указывается в настройках почтовой программы)
Папка, к которой предоставляется доступ
jsmithпапка INBOX у пользователя jsmith
private#jsmithпапка private у пользователя jsmith
lists/info#jsmith@client1.comпапка lists/info у пользователя jsmith в домене client1.com

Модуль POP позволяет пользователю получить доступ к любой папке любого другого пользователя (чужая или общая папка), а также к публичным папкам. Дополнительную информацию смотрите в разделе Папки.

Если пользователь зашёл на сервер как accountname и хочет получить доступ к папке mailboxname пользователя otheraccount, то имя пользователя указывается как ~otheraccount/mailboxname#accountname:

Имя Пользователя
(указывается в настройках почтовой программы)
Папка, к которой предоставляется доступ
jsmithпапка INBOX у пользователя jsmith
~public/announces#jsmithпубличная папка announces
~boss/INBOX#jsmithпапка INBOX у пользователя boss
В примерах выше пользователь аутентифицировался как jsmith с использованием соответствующего пароля.

Если аутентифицированный пользователь не имеет права удалять сообщения в выбранной папке, то операция DELE оканчивается неуспешно и почтовой программе пользователя возвращается ошибка.

Модуль POP может также использовать возможность Прямого обращения к папкам для открытия дополнительных папок.


Доступ к Личной почте через Объединённого Пользователя

В Модуле POP реализована фильтрация почты Единого Общедоменного Пользователя. Как и все модули доступа, модуль POP использует Маршрутизатор для обработки заданных имён пользователя.

Если в клиентской почтовой программе имя пользователя указано как abcdef@client1.com (как показано в этом примере), то Маршрутизатор перенаправляет этот адрес на локального пользователя Cl1, и возвращает abcdef как локальную часть получившегося адреса.

Модуль POP проверяет локальную часть, возвращаемую Маршрутизатором, и, если эта строка не пустая, то он фильтрует открываемую папку: модуль скрывает все сообщения в папке, которые не имеют поля заголовка X-Real-To (или другого поля, указанного в настройках модуля Местной Доставки) или не имеют указанной строки (индивидуального имени) в этом поле заголовка.

Таким образом, если пользователь указал имя как abcdef@client1.com, то только сообщения, которые изначально были направлены на этот адрес, будут доступны ему в папке пользователя CL1.

Если пользователь соединяется с сервером как Cl1, то открывается та же самая папка, но поскольку локальная часть имени в этом случае будет пустой, то будут показываться все сообщения, находящиеся в папке.

Пример:
Строка в Маршрутизаторе:
client1.com = Cl1.local
Первое сообщение отправлено на адрес:
abcdef@client1.com
Оно сохраняется у пользователя Cl1 в папке INBOX с уникальным идентификатором 101, и в заголовок добавляется поле:
X-Real-To: abcdef
Следующее сообщение отправляется на адрес:
xyz@client1.com
Оно сохраняется в папке INBOX пользователя Cl1 с уникальным номером 102, и в заголовок добавляется поле:
X-Real-To: xyz
После того, как эти сообщения сохранены, POP сессия будет показывать различные сообщения, в зависимости от указанного имени пользователя:

S: +OK CommuniGate Pro POP Server is ready
C: USER Cl1
S: +OK, send pass
C: PASS mypassword
S: +OK 2 message(s)
C: UIDL
S: +OK
S: 1 101
S: 2 102
S: .
C: QUIT
S: +OK bye-bye

S: +OK CommuniGate Pro POP Server is ready
C: USER abcdef@client1.com
S: +OK, send pass
C: PASS mypassword
S: +OK 1 message(s)
C: UIDL
S: +OK
S: 1 101
S: .
C: QUIT
S: +OK bye-bye

S: +OK CommuniGate Pro POP Server is ready
C: USER xyz@client1.com
S: +OK, send pass
C: PASS mypassword
S: +OK 1 message(s)
C: UIDL
S: +OK
S: 1 102
S: .
C: QUIT
S: +OK bye-bye

S: +OK CommuniGate Pro POP Server is ready
C: USER blahblah@client1.com
S: +OK, send pass
C: PASS mypassword
S: +OK 0 message(s)
C: UIDL
S: +OK
S: .
C: QUIT
S: +OK bye-bye

Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт