トップ «前の日記(2007-07-19) 最新 次の日記(2007-07-21)» 編集

Pyon's Diary

[はてなブックマーク登録数] [Google に登録] [RSS フィード] Gourmet Hardware Programming Society Software
Amazon
成る可くJIS X 0213:2004對應MSフォント(5.0)、IPAフォント(003.02)で御覽下さい

2007-07-20 舊 平成拾玖年水無月漆日 (金・晴) [長年日記]

[節] 電子郵便(メール) -- 990 バイトの謎。

職場のメール・サーバから送出したメールが文字化けをしてゐる、と同僚から相談された。

メールを見せて貰ふと文章の一部が慥かに文字化けをしてゐた。同じ文章で自分に送信して貰ひ、Thunderbird (2.0.0.5) で受信すると一行が物凄く長く、其乃後ろの部分が文字化けしてゐる事が判つた。

然う云へば RFC2822 で一行の長さが規定されてゐたよな、と思ひ出し觀てみると末尾の CRLF を覗いて 998 バイトだつた。

2.1.1. Line Length Limits
There are two limits that this standard places on the number of characters in a line. Each line of characters MUST be no more than 998 characters, and SHOULD be no more than 78 characters, excluding the CRLF.

[RFC2822 -- Internet Message Formatより引用]

其れに引つ掛かつたのかと思ひ、次の樣なファイルを用意して、

From: foo@example.com
To: bar@example.com
Subject: Test

01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

此を問題となつたメール・サーバからと、比較の爲其れとは別のサーバからそれゞゝ自分宛に送信してみた。

cat test.txt | sendmail hoge@example.com

すると、

  • 問題となつたメール・サーバから送信した方は 991 バイト目に CRLF が插入されてゐた。
  • 別のサーバから送信した方は CRLF が插入されず、それゞゝ一行で受信出來た。

然し、自分の Gmail に送信してみると、結果は逆だつた。更に Thunderbird を使つてゐる協力會社の人に送つてみたが、其方も自分とは逆の結果に成つた然う。

此でさつぱり譯が判ら無く成り、「990 バイト 改行」で檢索すると更に譯が判ら無く成つた。

何かメールサーバが CRLF を入れてゐたり、クライアントソフトが CRLF を入れてゐたり、誰が犯人なのかさつぱり判らん。

仕方が無いので入力畫面で一行の文字數(バイト數)を檢査してエラーを出力する事に成るだろうな。

Tags: Linux | del.icio.usに追加 | はてなブックマークに追加 | livedoor クリップに追加 | Yahoo! ブックマークに追加 | Google ブックマークに追加 | Permalink

[節] 晩御飯。

  • 炒飯。
  • 若布の味噌汁。
  • 蒟蒻の味噌炒め。
  • 砂肝の煮物。
Tags: None | del.icio.usに追加 | はてなブックマークに追加 | livedoor クリップに追加 | Yahoo! ブックマークに追加 | Google ブックマークに追加 | Permalink
[]

正當なXHTML1.1です! 正當なCSSです! BlogScouter Pyon's Land (MyMiniCity)
© pyon