添付ファイルの文字化け

[戻る]
Yamashita Goro 2002/11/02(土) 23:35:40
猫でもわかるプログラミングの

第240章 テキストファイルを添付する
http://www.kumei.ne.jp/c_lang/sdk3/sdk_240.htm

を参考にしてVC++6、MFC、ダイアログベースでアプリ
を作成し、テキストファイルを添付したメールを
****@yahoo.co.jpへ送信してみたのですけど、

1:添付ファイルの内容が(Content-Disposition: attachment;
filename="ファイル名"を記述しているにもかかわらず)メー
ル
本文に展開されてしまう。展開された添付ファイルの内容は、
英文と日本文ともに文字化けはしていない。

2:添付ファイルをダウンロードして開くと、英文は文字化け
しないが、日本文は文字化けしてしまう。


原因がよくわからないのですが、ここら辺の技術解説
やサンプルコードをご存知のかたいらっしゃらないで
しょうか。

wood 2002/11/04(月) 08:31:26
問題解決にはなりませんが、プロバイダに原因あるケースもあるみたいですよ
アウトルック+gooで同じようなメール友達から届いたことありますよ
yahoo.co.jpのメール管理者にご協力願っても良いんじゃないですか

最小限でやりたいのなら自分でメールサーバー立ち上げてデバックするのがいいと
おもいますど
この手は出口までデバックしないと...

YuO [E-Mail] 2002/11/04(月) 09:50:45
> 1:添付ファイルの内容が(Content-Disposition: attachment;
> filename="ファイル名"を記述しているにもかかわらず)メー
> ル
> 本文に展開されてしまう。展開された添付ファイルの内容は、
> 英文と日本文ともに文字化けはしていない。

これは,
a.) メーラーで見た場合
b.) POPから得た(生の)データが既に展開されている
のどちらですか?
a.であれば,メーラーがそのように処理している可能性があります。


> 2:添付ファイルをダウンロードして開くと、英文は文字化け
> しないが、日本文は文字化けしてしまう。

ダウンロードして開くとは?
また,開くのに使ったアプリケーションはISO-2022-JP等の,
利用しているコードに対応していますか?

駄犬 [E-Mail] 2002/11/04(月) 10:05:27
> ここら辺の技術解説

私も詳しくないのですが、RFC2045〜2049に"Multipurpose Internet Mail Extensions 
(MIME)"という文書があります。

Yamashita Goro 2002/11/04(月) 15:42:08
>最小限でやりたいのなら自分でメールサーバー立ち上げてデバックするのがいいとおも
いますど
やはりそれが一番だと思いますけど、少しハードルが高いですね。

>a.) メーラーで見た場合
>b.) POPから得た(生の)データが既に展開されている
a.)です。ただメーラーではなく、****@yahoo.co.jpはweb-mailなので、IEでチェックし
ました。POPから得た(生の)データはチェックしていません。

>ダウンロードして開くとは?
****@yahoo.co.jpはweb-mailなので、添付ファイルは一度web上からローカルのHDDにダウ
ンロードしなくてはなりません。

>また,開くのに使ったアプリケーションはISO-2022-JP等の,利用しているコードに対応
していますか?
秀丸です。文字コードに詳しくないのですが、おそらく対応していると思います。


>私も詳しくないのですが、RFC2045〜2049に"Multipurpose Internet Mail Extensions 
(MIME)"という文書があります。
ありがとうございます。参照してみます。

他のメーラから送信した場合はテキストファイルを添付してもメール本文内に展開され
ず、また文字化けもしていないので、資料などをチェックして再度取り組んで見ます。

YuO [E-Mail] 2002/11/04(月) 22:58:10
> >a.) メーラーで見た場合
> >b.) POPから得た(生の)データが既に展開されている
> a.)です。ただメーラーではなく、****@yahoo.co.jpはweb-mailなので、IEでチェックし
ました。POPから得た(生の)データはチェックしていません。

POPでちゃんと調べるべきでは?
text/plainは本文と同型式ですから,yahoo側のサーバープログラムが気を利かせて展開しているだけかもしれません。

ちなみに,text/plainの添付ファイルは,Application/Octet-Streamとして送るメーラーもあります。


> >また,開くのに使ったアプリケーションはISO-2022-JP等の,利用しているコードに対応
> していますか?
> 秀丸です。文字コードに詳しくないのですが、おそらく対応していると思います。

よく見たら,添付ファイルを送るコード,7bitコードしか送れませんがな。
ISO-2022-JPに変換して送るとか,
Base64で符号化して送るとか,そういう処理をしていない以上,
文字化けが起きても何もおかしくないです。

Yamashita Goro 2002/11/17(日) 04:56:20
[[解決]]
自己レスです。

Content-Type: text/plain; charset=ISO-2022-JP

を、

Content-Type: application/octet-stream; name=binary.lzh

のようにしたら解決しました。Base64でエンコードしてあります。
ご協力ありがとうございました。

古いスレッドには追加発言できません。