修改日期以匹配"标题发送日期"在电子邮件文件cpanel中

时间:2014-10-02 20:07:02

标签: bash email date cpanel datemodified

我使用imap将一堆电子邮件移到了服务器上。当它们加载到服务器上时,修改的日期与所有电子邮件的日期相同。因此,当我在mac mail中使用imap时,它会显示我9月30日发送的所有电子邮件。

电子邮件的标题包含正确的日期,因此圆形立方体显示正确的日期,因为我认为它是从标题中提取信息。

Mac邮件和其他邮件程序正在从创建,修改和/或访问的日期中提取信息。 (我不知道哪一个所以我改变了所有这些)

我可以手动更改修改,创建和访问的日期以匹配标题发送日期,但要为2000封电子邮件执行此操作需要做很多工作。

您是否知道我可以将修改后的创建日期更改为批处理,以使其与每个电子邮件文件中的标题日期相匹配?

无论如何要通过cron做到这一点?

我可以在Ubuntu中使用bash或者使用一个可以工作的窗口。

文件中的标题如下所示:

Return-Path: <jane@example.com>
From: <jane@example.com>
To: <joe@example.com>
Cc: "Mike" <mike@example.com>
Subject: Example Subject
Date: Mon, 29 Sep 2014 10:23:34 -0400
Message-ID: <763765530.23306569.1412000614673.JavaMail.root@example.net>
MIME-Version: 1.0

日期行本身:

日期:星期一,2014年9月29日10:23:34 -0400

1 个答案:

答案 0 :(得分:3)

首先,cd到文件所在的目录。然后运行:

for f in *
do
    touch -d "$(sed -n 's/^Date://p' "$f" | head -n1)" "$f"
done

以上使用sed从文件中提取“日期:”信息,然后使用touch将该日期分配给文件。

这是使用GNU工具测试的。 Mac OSX工具有时会有所不同。