Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.136.46] |
|
Сообщ.
#1
,
|
|
|
При получении сообщения с помощью MailKit по протоколу IMAP или POP3 использую свойство message.Date.UtcDateTime Если правильно понимаю, это дата отправки. Надо обрабатывать только новые сообщения. Проблема в том, что иногда сообщения с более ранним значением даты приходят позже. Если обрабатывать только сообщения с датой, более новой, чем последнее полученное, сообщения могут теряться, если их дата окажется более ранней.
В каждом сообщении есть текст, который начинается с Received: from и заканчивается датой в формате Fri, 06 Dec 2019 01:31:12 +0300 Первое вхождение такого текста позволяет найти дату получения сообщения. Эта дата идет обычно по возрастанию от старых сообщений к новым. Проблема в том, что на сервере mail.ru заметил, что время сообщений изменилось на несколько часов между двумя сообщениями, полученными в течение короткого промежутка времени, и осталось тем же. Есть ли надежный и желательно простой способ сортировать сообщения по дате получения. Абсолютное значение даты не самый важный вопрос. Важно, чтобы у более новых сообщений дата всегда была более новой. Кроме того, при получении почты по POP3 с gmail.com получает только около 700 старых сообщений и не получает новые. С IMAP и с другими серверами такой проблемы нет. Понимаю, что лучше использовать IMAP, но есть вопрос в связи с возможным использованием серверов, где есть только POP3. |