Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - C# MailKit - определить дату получения сообщения

Ответить
Настройки темы
.NET - C# MailKit - определить дату получения сообщения

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


При получении сообщения с помощью 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.

Отправлено: 02:19, 06-12-2019

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата Макс1:
В каждом сообщении есть текст, который начинается с Received: from и заканчивается датой в формате Fri, 06 Dec 2019 01:31:12 +0300 Первое вхождение такого текста позволяет найти дату получения сообщения. »
нет

и далее вы сами подтверждаете, что в реальной жизни это не так :-)

POP3 - это транспортный протокол. Время получения, это когда вы своим MailKit'ом забрали сообщение.

А IMAP - протокол синхронизации с серверным п/я - там в самом протоколе есть флаги и атрибуты с датой получения и состоянием синхронизации

Отправлено: 11:40, 06-12-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - C# MailKit - определить дату получения сообщения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Алгоритм получения адреса Биткоин Apock Программирование и базы данных 0 04-06-2019 23:00
определить дату производства батареи bogmut Мобильные ОС, смартфоны и планшеты 6 07-09-2015 21:10
Разное - Возможно или нет определить дату установки удаленной программы? garm. Microsoft Windows 7 13 03-06-2014 18:31
организация получения/отправки почты dihlof0s Программное обеспечение Linux и FreeBSD 2 11-03-2011 02:46
Получения root'a lSHuRuPl Защита компьютерных систем 6 05-11-2003 16:27




 
Переход