System.Net.Mail問題その5
この文書はVisual Studio 2005(.NET2.0)をベースに記述されています。それ以降のバージョンや、あなたが読んでいる時点では変更されている可能性があります。
その4までの考察で少なからず問題点が判明したSystem.Net.Mailを解決する方法それは独自実装です。
おがわさんの行動に触発されて、いちおうソースは見させてもらって参考にはしていますが、基本的にはスクラッチで組んでいます。
使い方は簡単です。
//using
System.Net.Mail;
using
Wankuma.Net.Mail;
参照設定を行ったら、usingのSystem.Net.MailをWankuma.Net.Mailにするだけで利用できるようにする。
これが一応の目標です。
SmtpClient
client = new
SmtpClient("mail.wankuma.com");
MailMessage
ms = new
MailMessage(new
MailAddress("naka@wankuma。com",
"表示用"), new
MailAddress("naka@wankuma。com",
"表示用"));
ms.Subject
=
"日本語すbじぇct";
ms.SubjectEncoding
=
System.Text.Encoding.GetEncoding("ISO-2022-JP");
ms.Body =
"あ\r\nb\r\nc";
ms.BodyEncoding
=
System.Text.Encoding.GetEncoding("ISO-2022-JP");
client.Send(ms);
前回までのドライバソースがこれですが、この中のSubjectEncodingは今のところ対応していないため、コンパイルエラーになってしまいますが、SubjectEncodingの2行を削除して、シンプルに呼び出すだけでそれらはデフォルトISO-2022-JPになるようになっています。
実際にMailMessageや、MailAddressなどの実装をそっくり真似ているわけではないので、そこまで移植性が高いわけではないのですが、簡単な呼び出し方は一緒と理解してください。