чтение электронной почты / непрочитанная почта - PullRequest
1 голос
/ 26 января 2011

Я пишу простой собственный сервер pop3.Я использую почтовый клиент Thunderbird для тестирования.У меня есть каталог, где установлены письма.Почтовое сообщение - 1 текстовый файл с сообщением.Когда я подключаюсь к своему серверу с помощью Thunderbird, он загружает письма, если я нажимаю «Получить почту», он снова загружает те же сообщения и помечает его как новый.Как я могу объяснить почтовому клиенту, какие сообщения новые, а какие уже прочитаны?

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 января 2011

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

Либо введите DELE команды для удаления сообщений после того, как онибыл загружен через RETR.

1 голос
/ 26 января 2011

POP3 не имеет никакого способа указать от сервера клиенту, прочитано ли сообщение, является новым или какой-либо другой информацией о сообщении.Для этой цели используйте IMAP.

Клиент POP3 будет вести локальную запись, если сообщение было прочитано (локально).

...