2015-03-22 2 views
-1

Я играю с MailKit, и мне интересно, какой будет правильный подход к использованию?Что такое «правильный» способ использования MailKit?

Я хочу, чтобы мое приложение синхронизировало все электронные письма во входящих, при запуске, и прослушивание входящих сообщений электронной почты, в то время как я могу переместить другие письма из папки «Входящие» в другую подпапку.

Я вижу, что ImapClient должен находиться в режиме «IDLE» для прослушивания входящих сообщений электронной почты, в то время как вам нужно выйти из режима IDLE, когда вы хотите перемещать электронные письма между папками.

Имеет ли смысл создавать 2 клиентских подключения к одной и той же учетной записи электронной почты? Один для перехода в режим ожидания и прослушивания новых входящих сообщений, а другой - для операций с почтой в учетной записи ???

ответ

3

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

+0

Причина, по которой я думаю об использовании двух клиентских соединений, заключается в том, что я не хочу потерять уведомления о новой почте, полученной во время процесса бездействия. Есть ли лучший способ сделать это? – grmihel

+0

О, ну, если это так, вы не потеряете никаких уведомлений во время процесса движения, отличного от IDLE. Вся команда IDLE позволяет IMAP-серверу отправлять уведомления, которые он обычно отправляет как часть ответов на другие команды, без необходимости отправки каких-либо команд клиенту. – jstedfast

+0

Итак, чтобы это исправить, означает ли это, что я вхожу в режим IDLE, когда нет операций, а затем выходить из режима ожидания, когда необходимо обработать операции, и снова идти в режим простоя, когда нет операций? Думаю, мне нужно также реализовать таймер, чтобы справиться с сохранением связи? – grmihel