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



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 16 件の記事 ]  ページ移動 1, 2  次へ
作成者 メッセージ
投稿記事Posted: 2007年6月23日(土) 08:42 
とあるところからやってくるメールのサブジェクトがデコードされずにそのまま表示されます。ヘッダを見ると、内容は、

SUBJECT: =?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=

となっています。mutt や squirrelmail で見ると問題なく表示されますし、nkf でデコードしても問題なく表示されます。なので、エンコード自体は問題ないと思いますが、なぜデコードされないのでしょう?
なお、OS には依存しないようで、Win, Mac, Linux どの OS 上の TB でもデコードされず、そのまま表示されます。
ちなみに、デコードされた文字列を、TB や nkf でエンコードすると、

=?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI=?=

最後の方のはてなマークの前のイコールが、2つではなく1つになりますが、元のメールのイコールが2つになるというのが、問題なのでしょうか?


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月24日(日) 07:39 
オフライン

登録日時: 2005年6月21日(火) 05:07
記事: 1617
お住まい: Kyoto,Japan
こんにちは。

Y2 さんが書きました:
とあるところからやってくるメールのサブジェクトがデコードされずにそのまま表示されます。

本文は読めますか?

私のところにやって来るそのたぐいのメールはほとんどがスパムです。
ヘッダを見ればわかると思います。
Subject: は ?ISO-2022-JP? で書かれているが、
Content-Type: は charset="SHIFT_JIS" となっている場合です。

Thunderbird は器用なふるまいはしないで約束に沿って文字エンコードを
表示します。

参照:
Mozilla Japan ナレッジベース - メッセージの件名が文字化けしたり「?」になってしまう


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年6月24日(日) 10:23 
こんにちは

Premier さんが書きました:
本文は読めますか?


問題なく読めます。また、一応スパムではありません。
TB が、うまくデコードできないのか、わざとしてないのか。。。

どちらにしても、次期バージョンでは、うまくデコードしてほしいと思っています。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月24日(日) 11:21 
オフライン

登録日時: 2005年6月21日(火) 05:07
記事: 1617
お住まい: Kyoto,Japan
Y2 さんが書きました:
TB が、うまくデコードできないのか、わざとしてないのか。。。

わざとしていないのです。そういう仕様です。

Y2 さんが書きました:
どちらにしても、次期バージョンでは、うまくデコードしてほしいと思っています。

多分、将来のバージョンでも対応しないと思います。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年6月24日(日) 12:47 
Premier さんが書きました:
わざとしていないのです。そういう仕様です。


どういう仕様なのか、詳細を教えていただけると助かります。
もちろん、ポインタだけでも結構です。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月24日(日) 22:06 
オフライン

登録日時: 2005年6月21日(火) 05:07
記事: 1617
お住まい: Kyoto,Japan
詳細をと言われると、またポインタだけでもと言われると具体的に自信を持って
示す根拠がありません。
申し訳ありません。

あくまでも経験値からのコメントになってしまいます。
ヘッダにある Content-Type: に指定された文字エンコードに従っている仕様
としか説明ができません。
他のメールクライアントも一般的には同様の仕様だと思われます。
RFC にそれを概説した物があると推測するのですが探したところ発見できませ
んでした。
RFC indices related to the Internet Mail

mozillaZine 本家のナレッジベースでも検索してみましたが、下記のものぐらい
しか見つけられませんでした。
Mail content types - MozillaZine Knowledge Base

もしどなたか「それはここに書いてあるよ」という資料がありましたらフォローいた
だくと助かります。


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

登録日時: 2005年9月02日(金) 00:59
記事: 1762
Premier さんが書きました:
RFC にそれを概説した物があると推測するのですが探したところ発見できませんでした。
RFCは2047です。でも2047だけを読んでもわからないかも。

http://www.mew.org/Newsletters/2.html
「Subject: フィールド」と
http://www.mew.org/Newsletters/3.html を読んでみてはどうでしょうか。

今回のは、
Mime-Version: 1.0 というヘッダが存在するのでMIMEメールと見なし、
Content-Type:ヘッダによりsjisエンコードと見なし、
ThunderbirdはSubject:ヘッダをsjisとしてデコードしようとして失敗。

Content-Type:ヘッダとSubject:ヘッダのエンコード指定に矛盾があるからデコードできない、と。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年6月25日(月) 04:17 
kiyo4_k さんが書きました:

今回のは、
Mime-Version: 1.0 というヘッダが存在するのでMIMEメールと見なし、
Content-Type:ヘッダによりsjisエンコードと見なし、
ThunderbirdはSubject:ヘッダをsjisとしてデコードしようとして失敗。

Content-Type:ヘッダとSubject:ヘッダのエンコード指定に矛盾があるからデコードできない、と。


すみません。今回のメールには、ちゃんとヘッダに、

Content-type: text/plain; charset="iso-2022-jp"

と記載されているのに、デコードされていないのです。

そして、他のMUAでは、きちんとデコードされていることから、TBのバグかもしれないと思っていますが、もしかしたら他のMUAは、許容範囲が広いだけで、TBは厳格に処理している(仕様)だけなのか解からず、質問しています。
なので、どちらにしても次期バージョンでの対応を願っているのですが。。。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月26日(火) 01:31 
オフライン
Administrator

登録日時: 2005年9月02日(金) 00:59
記事: 1762
Y2 さんが書きました:
すみません。今回のメールには、ちゃんとヘッダに、

Content-type: text/plain; charset="iso-2022-jp"

と記載されているのに、デコードされていないのです。
あぁ、なるほど。"SHIFT_JIS"というのはPremierさんが書いていたのを読み違えていたようです。

気になるのは SUBJECT:ですが、大文字でしたか?
このSUBJECT:が原因なのかな。
可能なら、エディタでSUBJECT:をSubject:に修正してみてはどうでしょう。

ちなみにThunderbirdは「Content-Type: Multipart/Encrypted;」を理解できません。「Content-Type: multipart/encrypted;」でないとダメというバグがありました。(現バージョンでは確認できていませんが)


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年6月26日(火) 03:20 
kiyo4_k さんが書きました:
気になるのは SUBJECT:ですが、大文字でしたか?
このSUBJECT:が原因なのかな。
可能なら、エディタでSUBJECT:をSubject:に修正してみてはどうでしょう。


はい、大文字でした。しかし、これを変更しても同じでした。

エディタで修正というヒントをもらったので、最後から3文字目のイコール ('=') を削除すると、問題なくデコードされました。始めに書いた通り、最後の方のイコールが2つ続くのが余計なようでした。やはりエンコードミスなのでしょうか?つまり、TBの解釈が厳格すぎ?


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月26日(火) 07:28 
オフライン

登録日時: 2005年6月21日(火) 05:07
記事: 1617
お住まい: Kyoto,Japan
コード:
SUBJECT: =?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=

のような終端のケースでも Thunderbird はデコードします。
=? で始まり、 ?= で終わるのが決まりのようですが、ビット数が合わない場合は
== として調整する仕様のようです。

以下のケースがそうです。
*文字数が多い場合ですが。
コード:
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Date: Mon, 22 Jun 2007 21:17:58 +0900
From: Premier <sample@cccccc.com>
MIME-Version: 1.0
To: aaaaaa <aaaaa@bbbbbb.com>
Subject: =?ISO-2022-JP?B?GyRCRnxLXDhsSEckTjk5PzckTkJOQCkkSxsoQg==?=
 =?ISO-2022-JP?B?GyRCJEQkJCRGGyhC?=
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

Subject: 欄等のエンコードするヘッダ項目には仕様があるのですが、送り手側と
受け手側のメールクライアントの仕様により一致していないと文字化けとなります。
参照:
エンコード・コレクション (メール、テキスト関連)

終端の処理のケースが2種類あるのは私には技術的知識が無いので不明ですが、
一方だけしかデコードできない Thunderbird は処理が厳格というか標準準拠なの
かなと思います。
そのデコードできないメールのヘッダ、送り手のメールクライアント、OS 等の情報を
具体的に提示してください。
それによってはバグかも知れませんし、そうではないかも知れません。
もしバグの場合はここで書いても開発者は見ていませんのでその存在をBugzilla@Mozilla
等にレポートしないと解決されません。

*TB と略するのなら Tb がお勧めです。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年6月26日(火) 12:01 
Premier さんが書きました:
コード:
SUBJECT: =?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=

のような終端のケースでも Thunderbird はデコードします。


デコードされなかったので、質問しました。
Premier さんが書きました:
=? で始まり、 ?= で終わるのが決まりのようですが、ビット数が合わない場合は
== として調整する仕様のようです。


では、エンコードの仕様的には正しそうですね。

Premier さんが書きました:
Subject: 欄等のエンコードするヘッダ項目には仕様があるのですが、送り手側と
受け手側のメールクライアントの仕様により一致していないと文字化けとなります。


文字化けは発生していません。デコードせずに、そのまま表示されます。

Premier さんが書きました:
終端の処理のケースが2種類あるのは私には技術的知識が無いので不明ですが、
一方だけしかデコードできない Thunderbird は処理が厳格というか標準準拠なの
かなと思います。


そうかもしれませんが、多くのクライアントでデコードできているという事実もあります。

Premier さんが書きました:
そのデコードできないメールのヘッダ、送り手のメールクライアント、OS 等の情報を
具体的に提示してください。


ヘッダで関連すると思われるのは、下記の通り。

SUBJECT: =?ISO-2022-JP?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=
Content-type: text/plain; charset="iso-2022-jp"

送り手のメールクライアントおよびOSは不明(User-Agent もありません)ですが、おそらくプログラムによる自動生成だと思われます。

Premier さんが書きました:
それによってはバグかも知れませんし、そうではないかも知れません。
もしバグの場合はここで書いても開発者は見ていませんのでその存在をBugzilla@Mozilla
等にレポートしないと解決されません。


バグか仕様かの判断ができずにいます。
英語でレポートできるのかという問題もありますが。。。

Premier さんが書きました:
*TB と略するのなら Tb がお勧めです。


了解しました。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2007年6月26日(火) 20:33 
オフライン
Administrator

登録日時: 2005年7月23日(土) 16:55
記事: 1295
試しに、Gmailから自分のメインアドレスに問題となっている件名の以下
=?ISO-2022-JP?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=
をそのままGmailの件名欄に貼付けて自分のメインアドレスに送って Thunderbird で受信してみました。
本文には「テスト」と書いてあります。

Thunderbird のUI上の件名は
=?ISO-2022-JP?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=
と表示されてます。
本文は「テスト」と表示されます。
メッセージのソースを見ると
Subject: =?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?=
となってます。


=?iso-2022-jp?B?GyRCTjE8aSViITwlSSQrJGkkTkRMQ04bKEI==?= を解読すると
「留守モードからの通知」ですよね。

これって自動生成の返信メールかなんかですよね?
自動生成の際に上記テストしたような事をやっているのではないでしょうか?
ちなみに Mail.app や yahoo のフリーメールなんかではデコードしてくれてました。

以上、報告まで。


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

登録日時: 2005年6月21日(火) 05:07
記事: 1617
お住まい: Kyoto,Japan
Premier さんが書きました:
=? で始まり、 ?= で終わるのが決まりのようですが、ビット数が合わない場合は
== として調整する仕様のようです。
Y2 さんが書きました:
では、エンコードの仕様的には正しそうですね。

うーん、正確には私にはわかりません。
RFC 2045 を読むとどちらも正しいとも読み取れます。
* 6.8 Base64 Content-Transfer-Encoding の部分です。
RFC2045 日本語訳
RFC2045 Base64 で使用する文字の種類

Y2 さんが書きました:
文字化けは発生していません。デコードせずに、そのまま表示されます。

失礼しました。
文字化けという表現はデコードされずにそのまま表示されるという意味で使いました。

Y2 さんが書きました:
そうかもしれませんが、多くのクライアントでデコードできているという事実もあります。

そのとおりですね。
一方で多くのクライアントでデコードできているからそれが標準あるいは正しい仕様だ
とも言い切れないかも知れませんね。
ちなみに Becky!Ver2 で「留守モードからの通知」をタイトルにしてダミーメールを作
成したところ、Subject: の終端は ==?= ではなく、 ?= となりました。
Becky!Ver2 も終端はどちらのタイプもデコードしてくれましたので親切なのかな?

Y2 さんが書きました:
バグか仕様かの判断ができずにいます。
英語でレポートできるのかという問題もありますが。。。

そうですね。どなたかよくご存知の方から「これはバグです」とか「仕様です」とか「どち
らも正しいです」とか明確に教えていただくとスッキリしますね。
バグ検索をしていないので不明ですが、日本語なら Bugzilla-jp がありますのでそち
らで要望として ==?= の場合もデコードする仕様にしてほしいとレポートする方法もあ
りかと思います。
既に同様のレポートがあったとしたらごめんなさい。
参照:はじめてのバグジラ ver2.16.1a2-ja編 *最新版ではないのですが参考まで。


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

登録日時: 2005年9月02日(金) 00:59
記事: 1762
Premier さんが書きました:
そうですね。どなたかよくご存知の方から「これはバグです」とか「仕様です」とか「どち
らも正しいです」とか明確に教えていただくとスッキリしますね。

Thunderbirdの開発側のポリシーと頑なな態度 そのものがバグと言いたいものが多いです。
送信はRFCをきっちり守り、受信は寛容&柔軟に対応して欲しいです。


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

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot], Majestic-12 [Bot] & ゲスト[57人]


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

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