電子メール:mboxの電子メールメッセージのFrom_行にある日付と時刻のスタンプはどこから来ましたか?

電子メール:mboxの電子メールメッセージのFrom_行にある日付と時刻のスタンプはどこから来ましたか?

私は現在、以前のtenexベースのメール形式からmboxにメールボックスファイルを変換するプログラムを開発しています。 tenexメールボックス形式には、mbox形式と同様の区切り文字(From_行と呼ばれます)があります。

テネックス:

 7-Feb-86 21:41:21-EST,1925;000000000000

郵便:

From [email protected] Fri Feb 07 14:20:00 1986

ただし、「テネックス形式」ファイルの区切られた行の日付と時刻のスタンプのソースは、文書の不足のため不明です。

したがって、メッセージを tenex から mbox 形式に変換する場合、tenex 形式ファイルの区切り文字行の行ではなく、日付ヘッダー フィールドの日付タイムスタンプを使用して mbox 形式のメッセージの From_ 行を構成します。

しかし、RFC4155は "the" mbox形式(実際にはいくつかの異なる形式があります)を記述し、このファイル形式の標準を提供しようとします。

各メッセージは、メッセージの送信者を識別し、最後の受信者(送信経路の最後のホップシステムまたは受信者として機能するシステム)がメッセージを受信した日時を識別する区切り文字で始まります。郵便局)。

したがって、日付ヘッダーフィールドに日付タイムスタンプを使用するアプローチが正しいかどうか疑問に思います。

しかし、送信エンベロープがなければ、受信メッセージの最終受信者の実際の日時スタンプをどこで取得できますか? 「Received」ヘッダーフィールドの最後の項目の日付/時刻スタンプですか?

ベストアンサー1

「From_」行はプログラムmail.local(元のmailUnix 7バージョンで呼び出された)によって記録され、タイムスタンプはメッセージがメールボックスに書き込まれた実際の時間です。

「つまり」最終受信者がメッセージを受信した日時「実際には、メッセージが受信者のメールボックスファイルに書き込まれる時間です。これは、メッセージが最終的に受信者によって「受信」される時間です。

メッセージの内容の前に初期区切り線を「mbox」ファイルに書き込むコードは非常に文字通りです。

    time(&tval);
    fprintf(fp, "From %s %s", from, ctime(&tval));

したがって、TENEXメールボックスの区切り線にあるタイムスタンプも「受信」時間の場合(つまり、松の技術の説明言う: ヘッダーの時間は、メッセージがフォルダーに書き込まれた時間です。)それから再フォーマットするだけです。これらのタイムスタンプはまったく同じ意味を持ちます。

おすすめ記事