The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン Quoted-Printable対策
日時: 2010/07/11 17:44
名前: てつ

 お世話になります。
 あるメーラ(.NETのSmtpClientクラスを使っている)は、メール件名を
Subject: =?iso-2022-jp?Q?
というQuoted-Printableで送り出します。

 これを、TKMPを使って
Dim reader As New TKMP.Reader.MailReader(stream, True)
dim sub as string = reader.HeaderCollection("Subject")
という具合に受けると、subの中には妙な文字列が入っています。

 別のメーラで、
Subject: =?iso-2022-jp?B?
で送り出すと、subの中にはきちんとした文字列が入ります。

 「=?iso-2022-jp?Q?」であっても、すぱっと受け取る方法はないでしょうか。

Page: 1 |

ファイル Re: Quoted-Printable対策 ( No.1 )
日時: 2010/07/15 23:11
名前: Toki◆pRU.c9X.EOI

Subjectのiso-2022-jp + Quoted-Printableは対応しているつもりではいますが、
解析に不具合があるのかもしれません。

ご協力いただけるのなら、解析前の"Subject=〜"部分と
解析で期待する文字列をいただけると問題が解決できると思います。
ファイル Re: Quoted-Printable対策 ( No.2 )
日時: 2010/07/19 16:50
名前: てつ

 お世話になります。サンプルをお送りします。

Subject: =?iso-2022-jp?Q?=82=B1=82=EA=82=CD=8C=8F=96=BC=82=C5=82=B7?=
 ↓
これは件名です

 ちなみに、OutlookExpressでは、きちんと上記Subjectが「これは件名です」とデコードされております。
ファイル Re: Quoted-Printable対策 ( No.3 )
日時: 2010/07/20 00:03
名前: Toki◆pRU.c9X.EOI

reader.HeaderCollection.HeaderItem("subject").DecodeCharset = "shift-jis";

で取り出せました。
つまりコードは「シフトJIS」なのにエンコーディング指定が「JIS」になっています。

記憶ではこれは.NETのメール送信ライブラリの不具合だったと思います。

文字列が表示されるメーラーはエンコーディングを自力解決していると思います。

ファイル Re: Quoted-Printable対策 ( No.4 )
日時: 2010/07/24 21:38
名前: てつ

 ご教示ありがとうございます。
 とはいえ、後は「件名がおかしかったら、別の文字コードを試してみる」という事になるのでしょうが、「おかしい、おかしくない」という判定をいかに行うか・・・。
 ちょっと研究してみます。

 それにしても、SmtpClientクラスの不具合は、いつになったら解決するのでしょうかね。

Page: 1 |