2014年2月1日土曜日

iPhoneに過去からメールが来た!送信者なし1970/1/1。1970年からメール理由

iPhoneに過去からのメールが届きました!
しかも、送信者なしで1970/01/01からのメールです!

何なんでしょうか、この過去からのメールは!?

送信者なし1970/01/01過去からメールがiPhoneに来た!

IMG_0532

  • 送信者:送信者なし
  • 日付:1970/01/01
  • 件名:件名なし
  • 内容:このメッセージに本文がありません。

こんな過去からのメールがiPhoneに届いたことはありませんか?
自分のiPhoneには届きました・・・。

過去からのメールが来る理由。なぜ1970年?

実は、
単純にまだメールが受信しきれていない段階でメールソフトが解釈しちゃっているだけです(が、ほとんどです。時々メールデータが壊れていることもあるかも知れませんが)。

メールの日付というのは、メールソフトが届いたメールデータのメールヘッダと呼ばれる部分の「Date」値から読み取っています。

image

そんな「date」値をメールソフトはどのように読みのかというと、コンピュータプログラムでは「time()」関数で読みます。
プログラム言語C言語とかC++ではこの「time()」関数が、実は1970年からスタートしているんです。
その為、日付データが解釈できないときは

  • 1970/01/01 0:00 (GMT グリニッジ標準時)
  • 1970/01/01 9:00 (GMT+9:00 日本時間)

のどちらかで解釈しちゃったりするのです。

なるほど、コンピュータプログラムの仕組み上の話なんですね!

しばらくすると、
もしメールデータがちゃんと受信できてちゃんとメールソフトが解釈できれば過去からのメールは1970年ではなくなり通常メールになりますよ

0 件のコメント:

コメントを投稿