Повторное получение почты

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 22:52, 29 марта 2008 (править)
Dmach (Обсуждение | вклад)
м
← К предыдущему изменению
Версия 23:52, 29 марта 2008 (править) (отменить)
Dmach (Обсуждение | вклад)

К следующему изменению →
Строка 1: Строка 1:
== Описание проблемы == == Описание проблемы ==
-В ряде случаев может возникнуть проблема повторного получения почты, когда вы вдруг получаете письма когда-то уже полученные. Проблема может возникнуть в случае выполнения следующих условий:+В ряде случаев может возникнуть проблема повторного получения почты, когда вы вдруг получаете письма когда-то уже полученные. Проблема описанная ниже может возникнуть в случае выполнения следующих условий:
* Для получения почты в настройках почтовой программы у вас используется протокол [http://tools.ietf.org/html/rfc1939 POP3] и установлена галочка "Оставлять сообщения на сервере" * Для получения почты в настройках почтовой программы у вас используется протокол [http://tools.ietf.org/html/rfc1939 POP3] и установлена галочка "Оставлять сообщения на сервере"
Строка 10: Строка 10:
Для POP3 протокола есть две команды получения списка писем на сервере: LIST и UIDL, все они возвращают список в котором для каждого письма указан порядковый номер и идентификатор. Различия этих команд в том, что UIDL обязан возвращять уникальный идентификатор письма а LIST - не обязан. List предназначена для идентификации писем в рамках текущего подключения к почтовому серверу, UIDL - для идентификации писем на протяжении всего времени. Для POP3 протокола есть две команды получения списка писем на сервере: LIST и UIDL, все они возвращают список в котором для каждого письма указан порядковый номер и идентификатор. Различия этих команд в том, что UIDL обязан возвращять уникальный идентификатор письма а LIST - не обязан. List предназначена для идентификации писем в рамках текущего подключения к почтовому серверу, UIDL - для идентификации писем на протяжении всего времени.
-Почтовый клиент запоманает идентификатор и в будущем не получает письма с известным ему идентификатором. Обычно, в почтовых серверах идентификатор для письма получаемый этими командами совпадает, то есть, обе команды возвращают уникальный идентификатор. Таким образом можно не заботится о том какую команду вы используете. К сожалению, почтовый сервер используемый на хостинге [http://www.1Gb.ru 1Gb.ru] возвращает разные идентификаторы, при этом идентификаторы возвращаемые командой LIST постоянны в рамках текущей временной зоны, после изменения времени идентификаторы команды LIST меняются.+Почтовый клиент запоманает идентификатор и в будущем не получает письма с известным ему идентификатором. К сожалению, в почтовом сервере используемом на хостинге 1Gb.ru имеется ошибка, которая приводит к тому, что уникальные идентификаторы писем выдаваемые командой UIDL после перехода на зимнее либо летнее время меняются. Таким образом почтовый клиент видит для старых писем новый идентификатор и считает, что письмо новое и, следовательно, его нужно получить.
-Таким образом, почтовые программы, использующие в процессе работы только команду LIST сталкиваются с проблемой того, что идентификаторы полученные ранее более недействительные и все письма в ящике имеют новые идентификаторы и значит нужно их снова получать.+== Пути решения проблемы ==
-== Кто виноват ==+Специалисты компании прилогают все имеющиеся усилия, что бы решить эту проблему в ближайшем будущем. К сожалению, диалог с разработчиками используемого ПО почтового сервера по данной проблеме может иметь длительный характер и мы пока не можем назвать точных сроков решения проблемы.
-Никто не виноват. Просто сложилась такая ситуация связанная с расплывчатостью стандартов (которые на самом деле не стандарты а рекомендации) и сложившимися практиками программирования почтовых клиентов.+Тем не менее уже сейчас есть несколько обходных путей решения проблемы:
- +
-== Что делать ==+
- +
-Есть несколько путей решения проблемы:+