Unix Утилита Fetchmail: дата, в которую было получено электронное письмо

sed '/.*EMAIL+\(.*\)SHR.*/{
    h;s//\1/;y/_/?/;G
    s/\(.*\)\n\(.*EMAIL+\).*SHR/\2\1SHR/}'

Это должно делать работу довольно надежно - она заменит все _ на ? между последним EMAIL+, происходящим на одной строке и последним SHR, происходящим на одной и той же и только на тех же строках, которые содержат обе строки.

.
1
22.04.2014, 02:49
1 ответ

Эта дата находится внутри заголовки электронной почты. Они выглядят примерно так:

Received: from mail-pd0-f170.google.com (mail-pd0-f170.google.com [209.85.192.170])
        by mailserver.example.com (Postfix) with ESMTP id DCFEE3983D
        for <someaddress@example.com>; Tue, 23 Jul 2013 20:32:34 +0200 (CEST)
Received: by mail-pd0-f170.google.com with SMTP id x11so8452192pdj.29

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

2
27.01.2020, 23:38

Теги

Похожие вопросы