その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などの実装をそっくり真似ているわけではないので、そこまで移植性が高いわけではないのですが、簡単な呼び出し方は一緒と理解してください。
#今セットアップファイルとかつくったり、ドキュメント作ったり、トレース追加したりしてますので、もう少ししたら公開できるのではないかと・・・・