2015-07-28 7 views
0

У меня есть несколько почтовых диреториев я захватил с GetMail (как почтовый ящиком и послали), и я хочу, чтобы дать имена EML файлов, которые представляют собой дата и время каждой почты прибыли (или были отправлена):Могу ли я полагаться на заголовок электронной почты «Дата:»?

[email protected]+0000.eml 

(Я хочу, чтобы Windows, чтобы читать файлы, так что нет колоны)

Я заметил, что есть только один вхождение «Дата:» внутри EML файлов:

Date: Tue, 28 Jul 2015 20:02:14 +0000 

Могу ли я полагаться на этот кусок заголовка для переименования файлов? Это надежный?

(я планирую написать или POSIX Баш скрипт для выполнения этой задачи)

ответ

1

Короткий ответ: NOPE.

Заголовок Date (и большинство других заголовков) задается клиентом (и не требуется), поэтому он может быть просто любым или отсутствовать.

Spams appart, так как поле Date установлено MUA (/ MSA), и все еще много людей не синхронизированы с NTP или не хотят правильно настраивать свою рабочую станцию, это более чем часто неправильно. я часто вижу missconfigured автоматизированной почтовой программы или MTA ...

Даты найдено в Received заголовках немного более надежная, поскольку он устанавливается realying MTA и вероятности они хорошо настроены выше.

Обратите внимание, что за исключением последнего (самого верхнего в появляющемся порядке), который является вашим сервером (в вашем случае GMail), они также могут быть подделаны.

+0

Я просматриваю файл eml, и я вижу прямо противоположное: 'Получено: от imap.gmx.com (XXX.XXX.XXX.XXX:993) с помощью playbox.example.org с IMAP4-SSL; 19 Sep 2014 00:46:11 -0000' и ​​'Дата: Пт, 09 Май 2014 02:18:17 + 0200'. Я получил почту в 2014-05-09, и я получил ее с помощью getmail в 2014-09-19. – jogtrot

+0

«немного более надежный» - нет никакой гарантии, что у агента по пересылке даже будут установлены часы в нужный век, а для некоторых MTA есть веские основания предполагать, что они не будут. Например, кто-то застрял в коробке в шкафу в 1990-х годах, и его аппаратные часы погасли, но он по-прежнему доставляет почту, поэтому никто даже не знает, что она существует. – msw

+0

getmail не является MTA, но он модифицировал полученную дату! Я читаю этот , и я думаю, что мне, вероятно, нужно увидеть некоторые его параметры конфигурации. – jogtrot