У меня есть учетная запись imap (например, [email protected]), и я знаю много библиотек, с которыми я могу подключаться и реплицировать сообщения обратно в пункт назначения. Я хочу, чтобы достичь следующего,Синхронизировать (копировать) сообщения IMAP
- Первого раза, я хочу, чтобы загрузить все сообщения (в том числе отправленных папок), и когда я скачиваю в первый раз, я спасу сообщение с ID и UID локально в некоторой базе данных.
- Во второй раз я не хочу запрашивать загруженные сообщения, даже если их состояние чтения/непрочтения или любой флаг или удаленный флаг изменены или они очищены.
- Наша цель - загрузить и синхронизировать каждое сообщение локально, один раз и только в первый раз.
Теперь я мало знаю о сообщении IMAP о том, что у них есть что-то под названием ID, UID и MessageID. ID, вероятно, является смещением в текущей папке, UID - это числовой идентификатор в текущей учетной записи, а MessageID - уникальная строка.
Теперь я хочу знать, какой поиск я должен использовать во время запроса в папке, так что сообщения, загруженные однажды, не будут возвращены мне.
Я планирую использовать библиотеку http://mailsystem.codeplex.com/, и она дает возможность поиска с пользовательской строкой и возвращает массив int.
Предполагая, что у меня есть MaxID, и я хочу только загружать сообщения с ID или UID больше, чем MaxID. Какой из них я должен использовать? UID или ID?
Предполагая наличие двух папок, входящих и спамов, с 1000 и 100 в UID в своих папках. Теперь, если между двумя временами синхронизации, если сообщение с UID 101 получено в спаме, и пользователь переводит его во входящие, что происходит с UID? это сообщение получает новый UID с 1001? –
IMAP не поддерживает операции перемещения, вместо этого электронные письма должны быть скопированы в целевую папку и удалены из исходной папки. UID уникален в папке, и когда электронное письмо добавляется или копируется в папку, электронное письмо получает UID, который больше, чем все предыдущие UID, используемые в этой папке. – nosid
Также я узнал о поиске. Будет ли лучше синхронизироваться на ежедневной основе? Я хочу свести к минимуму поездки на сервер, почему мне нужно заботиться о UIDVALIDITY? –