― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 10 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2006年12月24日(日) 15:23 
オフライン

登録日時: 2006年11月25日(土) 20:52
記事: 7
お住まい: Kanagawa,Japan
Win2KSP4でThunderbird 1.5.0.9を使用しています。

以前から「メッセージを検索」で差出人のメールアドレスが検索でき
ないときがあったのですが、検索できるときとできない時の違いが
わからずここで聞くこともできず困っていました。
それがこの度、たまたま違いらしいものが見えてきましたので、この
件についてどなたかご存知の方いらっしゃいましたらお教え願います。

「メッセージを検索」で「差出人」、「が次を含む」、「xxx@yyy.zzz」
を指定して検索したとき、差出人のメールアドレスが以下のように
「ほげ」の部分がMIMEではなくiso-2022-jpで書かれているメッ
セージが検索できないようです。

ほげ <xxx@yyy.zzz>

これは仕様なのでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月25日(月) 17:08 
オフライン

登録日時: 2006年9月05日(火) 18:47
記事: 4207
wire さんが書きました:
「メッセージを検索」で「差出人」、「が次を含む」、「xxx@yyy.zzz」
を指定して検索したとき、差出人のメールアドレスが以下のように
「ほげ」の部分がMIMEではなくiso-2022-jpで書かれているメッ
セージが検索できないようです。

ほげ <xxx@yyy.zzz>

Windows XP Pro SP2,Thunderbird 1.5.0.9 日本語版で試してみました。
「メッセージを検索」で「差出人」、「が次を含む」、「xxx@yyy.zzz」でヒットして抽出
しました。
*「xxx@yyy.zzz」は適当に変えてみました。

「ほげ」の部分ですが、
From: =?ISO-2022-JP?B?XXXXXXXXX=?= <xxx@yyy.zzz>
という事でしょうか。
上記のケースでも検索してくれました。

ヘッダーでは下記のようになっているが、
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
実際にはShift_JISで書かれている(エンコードされている)メッセージでしょうか。
 
セーフモードでも同様ですか。
 


通報する
ページトップ
 プロフィール  
引用付きで返信する  
 記事の件名:
投稿記事Posted: 2006年12月25日(月) 19:36 
オフライン

登録日時: 2006年11月25日(土) 20:52
記事: 7
お住まい: Kanagawa,Japan
早速のお返事ありがとうございます。

こちらでも別のマシン(Windows XP Pro SP2,Thunderbird 1.5.0.9)で
確認してみましたが同じ症状でヒットしませんでした。
セーフモードでも症状は変わりません。
念のためそのメッセージのFrom行をhex-dumpしてみたところ以下のように
なっていましたのでiso-2022-jpであることは間違いないと思われます。

「ほげ」→ 0x1b 0x24 0x42 0x24 0x5b 0x24 0x32 0x1b 0x28 0x42

試しにこの「ほげ」の部分だけを削除してやると後続の「xxx@yyy.zzz」でヒット
して正常に抽出することができました。

失礼ですが、kiki様のところでは上記の文字列が入っていても検索ヒットしてい
るのでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月25日(月) 21:28 
オフライン

登録日時: 2006年9月05日(火) 18:47
記事: 4207
wire さんが書きました:
セーフモードでも症状は変わりません。

了解しました。

wire さんが書きました:
試しにこの「ほげ」の部分だけを削除してやると後続の「xxx@yyy.zzz」でヒット
して正常に抽出することができました。

ほげ <xxx@yyy.zzz> という条件で検索していたわけではないですよね?

wire さんが書きました:
こちらでも別のマシン(Windows XP Pro SP2,Thunderbird 1.5.0.9)で
確認してみましたが同じ症状でヒットしませんでした。

という事は、アドオンやプロファイル、本体には問題ないように思えますね。

wire さんが書きました:
失礼ですが、kiki様のところでは上記の文字列が入っていても検索ヒットしてい
るのでしょうか?

ダンプされた文字列を加えただけでは問題ありませんでしたよ。

検索でヒットしないメッセージとヒットするメッセージをソース表示で開いてヘッダーを
よく見比べてみてください。
何か違いがありませんか。
引用:
From: =?ISO-2022-JP?B?XXXXXXXXX=?= <xxx@yyy.zzz>
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

「ほげ」の部分が日本語の場合、通常は=?ISO-2022-JP?B?XXXXXXXXX=?=と
なっていると思います。
がしかし、上記のエンコード指定が無くそのままでは?
よって<xxx@yyy.zzz>までもがおかしなエンコードになっていて検索では認識できない
のではないでしょうか。
*つまり文字列として認識できない文字エンコードになっている。

ちなみにその検索でヒットしないメッセージに対して返信しようとした場合、宛先アドレス
には「 ほげ <xxx@yyy.zzz> 」が現れますか?
 
*一体どんなメールソフトから送られたメッセージなんでしょう。スパム?
 


通報する
ページトップ
 プロフィール  
引用付きで返信する  
 記事の件名:
投稿記事Posted: 2006年12月25日(月) 23:36 
オフライン

登録日時: 2006年11月25日(土) 20:52
記事: 7
お住まい: Kanagawa,Japan
お返事ありがとうございます。

kiki様の環境でこの症状が再現できない件は説明できませんが、From行に
MIMEではなくiso-2022-jpで記述されていると文字列中に「(」が現れるため
検索ができなくなることが当方で確認できました。
Thunderbirdも含めて普通のメーラでそのようなメッセージは送信できませ
んのでメッセージをインポートして確認しています。
試しに<xxx@yyy.zzz>で検索ヒットしているメッセージのFrom行に「(」の
1文字を加えると検索できなくなりました。

恐らくは、RFC 822の「3.4.6 BRACKETING CHARACTERS」で「(」以下
はコメントとして無視されるとなっているので、それに絡んだ振る舞いではない
かと勝手に推測しております。

因みに、このFrom行にiso-2022-jp文字が入るのは古いメッセージで他の
メーラからインポートしてきたものみたいなので、恐らくはインポート時のミス
だと思われます。(または機械からの自動生成メールかも知れない。。。)
普通のメーラは送信時にMIMEエンコードしてくるのでiso-2022-jpな文字
がFrom行に直接入ってくることはありませんね。

取り合えずThunderbirdの振る舞いがわかったので、適当なツール等を使用
して全フォルダ内のFrom行(To行も?)のiso-2022-jp文字をMIMEに変換
して対処したいと思います。

どうもありがとうございました。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月26日(火) 21:34 
オフライン

登録日時: 2006年9月05日(火) 18:47
記事: 4207
結局のところ、どういう振る舞いが判明したのか・・・。

Thunderbirdはきちんと文字エンコードが指定されていないデータは気を利かして
認識してくれないという事でしょうか。
 


通報する
ページトップ
 プロフィール  
引用付きで返信する  
 記事の件名:
投稿記事Posted: 2006年12月26日(火) 22:06 
オフライン

登録日時: 2006年11月25日(土) 20:52
記事: 7
お住まい: Kanagawa,Japan
ThunderbirdはFrom行にiso-2022-jpでエンコードされたかな文字が混ざっているとその後に
ある<xxx@yyy.zzz>といったメールアドレスの検索ができないこということです。
(少なくとも私の環境ではそのように見えています)

kiki様のおっしゃっている文字エンコードの指定というのは、Content-Typeのことを指しています
でしょうか?
今回はFrom行つまりヘッダの件についての話ですので、Content-Typeは無関係ではないでしょ
うか?
From行にはContent-Typeで指定されているからといってiso-2022-jpな文字を入れるとRFC
違反になると思います。

念のため申し上げますが、=?ISO-2022-JP?B?XXXXXXXXX=?=というのはMIMEエンコード
されていますのでiso-2022-jpとは呼びません。

このような文章でご理解頂けますでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月26日(火) 23:00 
オフライン

登録日時: 2006年9月05日(火) 18:47
記事: 4207
wireさんがおっしゃっている事を誤解しているわけではありませんので。
ただ当方の知識(検証)不足があるだけです。

私はThunderbirdはヘッダ部分(To,From等)がMIMEエンコードされていないと賢く認識して
くれないと理解しています。(自分でテストしていないので自信なしです^^)
ですからFrom行に単純にiso-2022-jpでエンコードされた文字が直接入っている場合は不具合
を起こす振る舞い(検索等で)になるのではと思います。
=?ISO-2022-JP?B?XXXXXXXXX=?=というMIMEエンコードされたデータであれば問題ない
と理解しています。

ですので最初に、
Premier さんが書きました:
「ほげ」の部分ですが、
From: =?ISO-2022-JP?B?XXXXXXXXX=?= <xxx@yyy.zzz>
という事でしょうか。
と書かせていただきました。

wire さんが書きました:
普通のメーラは送信時にMIMEエンコードしてくるのでiso-2022-jpな文字
がFrom行に直接入ってくることはありませんね。

そうだと思います。
今回はThunderbirdで受信したメールではなくてインポートされたメールのようでしたが、世の中
にはいろんな解釈に沿ったメールソフトがあるという事でしょうか。

wire さんが書きました:
今回はFrom行つまりヘッダの件についての話ですので、Content-Typeは無関係ではないでしょうか?

テストしていないので自信なしですが、Content-TypeがISO-2022-JPでヘッダ部分が
Shift_JISでMIMEエンコードだったり、何もMIMEエンコードされていなかったら表示では
おかしくなると思います。
ひょっとしたらそのあたりも影響するのかも?
 


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月27日(水) 00:32 
オフライン
Administrator

登録日時: 2005年9月02日(金) 00:59
記事: 1762
From:など、ヘッダはMIMEとは関係ない符号化ですよ。
でもコードはcharsetで指定されたものと同じじゃなければなりません。

> いろんな解釈に沿ったメールソフトがある

と言うんじゃなくて、間違った解釈により間違った実装のメールソフトも有るということですね。


追記)
他の人が読んで誤解しないように書いておきますけど、

From:など、ヘッダはMIMEエンコードとは言いません、単に「符号化」です。MIMEエンコードのやり方の副産物(後ろにあるcharsetを見るので)と言えると思いますが基本的にヘッダ部分はascii文字以外は書けないわけです。MIMEの処理は「MIME-Version: 1.0」というヘッダより後ろの部分のはずです。

で、ヘッダ部分をSJISのまま送信してしまうメールソフトは間違った実装です。ThunderbirdはMIMEと符号化の約束に忠実に実装されているらしいので、この部分が正しくないメールは文字化けします。


最後に編集したユーザー kiyo4_k [ 2006年12月27日(水) 00:50 ], 累計 1 回

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2006年12月27日(水) 00:34 
オフライン

登録日時: 2006年11月25日(土) 20:52
記事: 7
お住まい: Kanagawa,Japan
了解しました。
私が乱暴にThunderbirdの振る舞いを推測したことも手伝って、私の意図がうまく伝わらなくなっ
てしまったようで反省しています。
基本的に私の認識とkiki様の認識に大きなずれは無いと思います。

kiki さんが書きました:
今回はThunderbirdで受信したメールではなくてインポートされたメールのようでしたが、世の中
にはいろんな解釈に沿ったメールソフトがあるという事でしょうか。

これについて補足させてください。
私がインポート時のミスと書いたのは、Thunderbirdを使用する前に使用していたのはメッセージ
が1つ1つのファイルに分かれているMH(Mail Handler)系のメーラだったのですが、そのメッ
セージファイルをThunderbirdへインポートするために人の書いたツールや自分で書いたツール
を組み合わせて使ってmbox形式へ変換しました。
その時に各メッセージファイルのヘッダ部分がボディ部分と同じiso-2022-jpで保存されているの
に気が付かずそのままThunderbirdへインポートしてしまったようなのです。
従いまして、インポート作業を行った私のミスということです。

また、メールソフトについてはLinuxやFreeBSD等のmailコマンドを使ったりSMTPポートに直接
話しかければ何でもありだと思ったので、「機械からの自動生成メールかも...」などという書き方を
してしまいました。
本当にわかり難い稚拙な文章で申し訳ありませんでした。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 10 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[81人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean