Pop3 и электронная почта Gmail удаляются после загрузки

Пишу Pop3 клиент для gmail. Проблема в том, что когда электронная почта загружается, она удаляется с сервера pop3. Я попытался отправить команду RSET на сервер, но она не работает.

Нужно ли отправлять RSET непосредственно перед отключением или после загрузки каждого письма?

5 ответов

Конфигурация Pmail в Gmail может иногда сбивать с толку. В веб-интерфейсе Gmail в разделе "Настройки" на вкладке "Пересылка и POP/IMAP" вы можете найти раскрывающийся список "Когда к сообщениям обращаются через POP".

Вот список значений и поведение Gmail:

а."удалить копию Gmail": сообщение удалено с помощью команды RETR.

б."сохранить копию Gmail в папке" Входящие "": сообщение остается в папке "Входящие", веб-интерфейс сообщает, что оно не прочитано, однако сообщение не принимается во второй раз с использованием клиента POP3.

с."Архивировать копию Gmail": сообщение удаляется с помощью команды RETR, однако его можно найти с помощью веб-интерфейса.

Gmail просто игнорирует команду DELE и не следует стандарту POP3.

Он должен удалять сообщения только в том случае, если вы отправляете / используете команду DELE. Поскольку вы пишете это сами... просто не используйте команду DELE: http://www.faqs.org/rfcs/rfc1939.html

Команда RSET также должна работать, смотрите из RFC:

RSET

     Arguments: none

     Restrictions:
         may only be given in the TRANSACTION state

     Discussion:
         If any messages have been marked as deleted by the POP3
         server, they are unmarked.  The POP3 server then replies

         with a positive response.

     Possible Responses:
         +OK

     Examples:
         C: RSET
         S: +OK maildrop has 2 messages (320 octets)

Google не обрабатывает POP3 в обычном смысле. Как только вы загрузили письмо, оно помечается как загруженное, и POP3 будет действовать так, как будто оно было удалено. Но на самом деле они хранят копию почты на сервере.

Поскольку сервер Gmail POP3 не работает как обычный сервер POP3, он автоматически скрывает старые электронные письма, даже если они не были удалены командой POP3 DELE.

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

Прошло некоторое время, но работая над аналогичной проблемой, я обнаружил, что команда TOP не помечает сообщение как прочитанное на сервере GMail POP3.

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

Надеюсь, поможет.

Другие вопросы по тегам