C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 受信メールの添付ファイル名の文字化け


(過去ログ 125 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■74281 / inTopicNo.1)  受信メールの添付ファイル名の文字化け
  
□投稿者/ むぅ (10回)-(2014/12/15(Mon) 15:08:17)

分類:[.NET 全般] 

VS2010 C# .net3.5 Win7 32bit
お世話になります。

メール受信処理を作成中なのですが、日本語の添付ファイルのファイル名が
文字化けした状態になります。


ヘッダ部分は以下のようになっていました。
Content-Disposition: attachment; filename="AQ-000005.?Y?t?e?X?g?t?@?C??.txt"
Content-Transfer-Encoding: base64
Content-Type: application/x-gzip; name="AQ-000005.?Y?t?e?X?g?t?@?C??.txt"

試しに
strFilename="AQ-000005.?Y?t?e?X?g?t?@?C??.txt";
bytes = Convert.FromBase64String(strFileName);
とすると「Base-64 文字列に無効な文字が含まれています。」とのエラーがでます。

このメールをBeckyで受信したところ、
AQ-000005.添付テキストファイル.txt

と正常に表示され、ファイルの内容も文字化けしておりません。

正しく日本語ファイル名にするにはどうすればよいでしょうか。

以上、よろしくお願いします。
引用返信 編集キー/
■74284 / inTopicNo.2)  Re[1]: 受信メールの添付ファイル名の文字化け
□投稿者/ WebSurfer (427回)-(2014/12/15(Mon) 15:42:56)
No74281 (むぅ さん) に返信

SmtpClient を使ったメール送信の話ですか? それともそれより下のレベルでの
自作メール送信プログラムですか?

そのあたりをきちんと書きましょう。
引用返信 編集キー/
■74285 / inTopicNo.3)  Re[2]: 受信メールの添付ファイル名の文字化け
□投稿者/ むぅ (11回)-(2014/12/15(Mon) 15:47:50)
2014/12/15(Mon) 15:49:24 編集(投稿者)

WebSurfer さん、お世話になります。

SmtpClientは使用しておりません。TcpClientを使って
メールを受信しております。

送信側は他者が構築したwebシステムからなので、詳細は
不明です。

その他、必要な情報は有りますでしょうか。

よろしくお願いしますm(__)m

引用返信 編集キー/
■74287 / inTopicNo.4)  Re[3]: 受信メールの添付ファイル名の文字化け
□投稿者/ WebSurfer (428回)-(2014/12/15(Mon) 17:12:51)
No74285 (むぅ さん) に返信

> SmtpClientは使用しておりません。TcpClientを使って
> メールを受信しております。

すみません、「受信」でしたね。送信だと勘違いしてました。

RFC 2231 方式でもないし B エンコーディングでもない。でも Becky! では
文字化けなく期待通り取得できる・・・ということで、Web の作者さんがど
ういう実装をしたのか自分には見当がつきません。

お役に立てずすみませんが、他の方の回答をお待ちください。
引用返信 編集キー/
■74288 / inTopicNo.5)  Re[4]: 受信メールの添付ファイル名の文字化け
□投稿者/ Hongliang (259回)-(2014/12/15(Mon) 17:59:47)
> AQ-000005.添付テキストファイル.txt

> AQ-000005.?Y?t?e?X?g?t?@?C??.txt
に化けるのは、Shift_JISで符号化されたバイト列をEncoding.ASCIIでデコードした結果でしょうね。
ヘッダにこういうバイト配列が格納されているなら、送信元が正しくヘッダを符号化していなかったんでしょう。
ヘッダをEncoding.GetEncoding("Shift_JIS")辺りでデコードすれば読めるでしょう。相手先特有の処理として実装するなりする必要があるかもしれません。
// ちらっと調べた感じ、古いメーラーは良くやってたらしいですが。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -