過去ログ表示


過去ログ 392 を表示

トピック内全 4 記事中の 1 〜 4 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0]

TB24.4.0のemlファイルがbase64でエンコードされる
(#57827) このトピック中1番目の投稿
(環境: Win 7/Other)

お世話になります。
Tb24.3.0を利用しています。NC4.5SP1から利用しているのですが、
メールの転送にて少々問題が発生しています。
通常のメール転送は本文として転送しているのですが、
仕事上、受信したメールを添付ファイルとして転送する機会があります。
その際、添付されるメールはeml形式で中身は昔(TB2.xか3.x)では、
emlファイルの中身(本文)はtext形式だったのですが、
24.Xに上げてからはbase64でエンコードされています。
元のtext形式でアタッチするにはどうしたらよろしいのでしょうか?

(環境: Win 7/Other)

一部誤りがありましたので、訂正と補足します。

TBはタイトル通り24.4.0です。
OSはWIN7(32bit)SP1です。

添付したメールについて、、
添付部分のヘッダーは
Content-Type:message/rfc822;
Content-Transfer--Encording: base64

とあります。

しかし、転送されたemlの中身のヘッダーは
Content-Type:text/plain; charset="iso-2022-jp"
Content-Transfer-Encording: quoted-printableだったり7bitだったりですが。
emlの本文はBASE64でエンコードされていました。



No57827に返信(まちさんの記事)
> お世話になります。
> Tb24.3.0を利用しています。NC4.5SP1から利用しているのですが、
> メールの転送にて少々問題が発生しています。
> 通常のメール転送は本文として転送しているのですが、
> 仕事上、受信したメールを添付ファイルとして転送する機会があります。
> その際、添付されるメールはeml形式で中身は昔(TB2.xか3.x)では、
> emlファイルの中身(本文)はtext形式だったのですが、
> 24.Xに上げてからはbase64でエンコードされています。
> 元のtext形式でアタッチするにはどうしたらよろしいのでしょうか?Win 7/Other

(環境: WinXP SP3/Other)

> 通常のメール転送は本文として転送しているのですが、
> 仕事上、受信したメールを添付ファイルとして転送する機会があります。
> その際、添付されるメールはeml形式で中身は昔(TB2.xか3.x)では、
> emlファイルの中身(本文)はtext形式だったのですが、
> 24.Xに上げてからはbase64でエンコードされています。

基本的には、bug-org 326303 の現象でしょう。

message/rfc822のパートは、受け取ったメールはちゃんとメールシステムを経由して届いているんだし、余計なことを一切せずにそのままのデータで送るように、RFCでは規定されているのですが、
RFCの規定違反のメールも現実には少なからず存在していて、そのままmessage/rfc822のパートのデータとして送ると、今度は、そのメールを転送したThunderbirdがRFCの規定違反のメールを作って送ったことになってしまいます。
で、それを避けるために、mail.file_attach_binary=true の時には、大きなRFC違反ではなく、小さなRFC違反で済む、message/rfc822パートをbase64で送る、というように、今のところはなっています。
で、その時に、なんでそうなるのか理解しようにもし難い、とんでもない形式にしてしまいます。
これが、bug-org 326303 です。
そして、0x00とか0xFFとかがあるような完璧な掟破りのメールとか、一行の長さ制限を越えたようなタコメールとか、メッセージヘッダーの中に空白だけの行があるメールとか(RFCの規定では、許されない)、CRLFとLFとCRを混在させたような無神経なメール、などなどの転送の時に、
自分がRFC違反のメール送信の主犯者あるいは共犯者にならないように、自動的にmail.file_attach_binary=trueのモード(message/rfc822でもbase64)で送ろうとします。
すると、当然、bug-org 326303 が起こることになります。
この範疇に入るのが、bug-org 523796 です。
bug-org 523796 の場合は、元々のメールデータにはRFC違反はないけれど、それを本当にそのまま送り出すと、立派なRFC違反になるか、正常なメールデータになり得ない、という、ちょっと特殊なケースですけど。
このケースでは、CRLFを一個くっつけるだけで済むのですが、
でも、これはこれで、元々のデータを改変したことになるわけで、
非常に生真面目に、データの改変だけは避けたい ⇒ そうだ、base64で送ろう ⇒ bug-org 326303が起こってしまった、という話で、涙無しには語れないお話(^^)

これらのバグの兄弟・姉妹に、message/rfc822のパートのデータ全体を、通常のtext/plain/Content-Transfer-Encoding:base64と同様に、極く普通にbase64エンコードしてあるパートだと(これは、立派な、送り側のRFC違反ですが)、まともに表示できない、という問題もちゃんといますから、ご安心を。
一卵性双生児ほどには似ていないから、二卵性双生児、といった感じのバグですね(^^)

(TB2.xか3.x)では、emlファイルの中身(本文)はtext形式だったが、24.Xに上げてからはbase64、ということだと、
mail.file_attach_binary=true によるものだとはちょっと考えにくいですね。
bug-org 326303は、Thunderbirdからのバグではなく、Mozilla Mail&News時代からあった問題だったはず。

bug-org 523796 のような問題は、Thunderbirdで生み出された問題で、Tb 2/3とTb 24で挙動が異なる可能性はあります。
どのようなメールや.emlファイルを添付で転送しても、問題が起こるのですか?
実際に送信する必要はなく、「後で送信」をすれば、いつでも確認できます。
その後、すぐに「未送信トレイ(かな?)」から消しておかないといけないですが。

(環境: Win 7/Other)

ご確認ありがとうございます。
かれこれ、1998年からこの系統のメーラを利用していて、
NetscapeComunicater4.0x→4.5→4.6→4.7→4.78→7.2(en)→ThunderBird2.0→3.x→24.xと容量にして50GB程度のメールを扱っています。
pref.jsは4.04か4.05で使用していた98年のものを修正をしながら、ずっと引きずっています。

.emlのbase64エンコード問題ですが、3.xは昨年12月に社内クライアントを7にしてしばらく利用していて気が付かなかったです。
環境が違うのですが、、、自宅のPCが16.xだったのを思い出して、検証すると
正常?に7bitエンコードされていました。じゃあと、24.4に上げてみても
正常?にemlが7bitエンコードされています。

で、高度な設定を確認したら、mail.file_attach_binary=trueが
自宅と会社のPCで違っていました。
mail.file_attach_binary=falseに変更すると正常にemlが7bitエンコード
で添付されました。

解決策をいただき感謝いたします。

ありがとうございました。
済!

このトピックの全ページ / [0]

返信不可


- Child Tree -