Даты сообщений в Outlook
Как-то так сложилось, что если мне нужно посмотреть любые параметры сообщения, то я сразу лезу смотреть его заголовок. Сегодня в форуме TechNet задали вопрос и в процессе исследований я обнаружил для себя любопытную вещь.
В Outlook у сообщения есть два поля — Received и Sent. В общем списке сообщения отображается Received, а в теле сообщения Sent. На нижеприведенном скриншоте видно, что сообщения было получено(Received) в 8:43, а отправлено(Sent) в 2:01.
На самом деле все честно, так все и было. Поле Sent — это поле, которое заполняет Outlook при отправке письма и оно совпадает с полем Date в заголовке. А поле Received — заполняет ваш Exchange сервер, когда принимает письмо. Точного алгоритма я не знаю, но суть примерно такая. Если Вы знаете точный алгоритм — напишите или дайте ссылку, интересно.
Я просто раньше на это внимание не обращал, теперь буду








11 Январь 11, 2008 г. в 16:38
Хмм, возможно имелось несколько иное, но тем не менее попробую ответить на вопрос про алгоритм.
На самом деле Outlook и Exchange работает с набором MAPI-шных пропертей для контроля за временем прохождения месаги, которые описаны в MSDN ().aspx).
В свою очередь Sent (или SentOn в Outlook object model) это PR_CLIENT_SUBMIT_TIME ().aspx) и Received ( aka ReceivedTime) это PR_MESSAGE_DELIVERY_TIME ().aspx).
У обоих свойств в MSDN есть вполне понятное объяснение.
Надеюсь ответ не выглядит слишком техническим или ответом из серии "это и так всем известно"
11 Январь 11, 2008 г. в 16:47
Для внутренних сообщений так и есть, а для внешних сообщений Exchange берет МАПИшные проперти из SMTP заголовков. Больше то неоткуда.
Я в процессе иследований использовал Internet Header, а у MAPIшных сообщений, посланных внутри одного сервера их нет. След. раз постараюсь подробнее свои действия.
15 Январь 15, 2008 г. в 18:39
ток они не "МАПИшные" в общем случае. а просто первые таймштампы из SMTP headers