メールアドレスはメールアドレスしか存在しないかもしれませんが、実際のメールでは表示用名称を持っています。
中 博俊 <naka@wankuma。com>
どうですか?このような形式でメール送られてきますよね?
System.Net.Mailでも同様に表示用名称を設定することが出来ます。
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("mail.wankuma.com");
System.Net.Mail.MailMessage ms = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress("naka@wankuma.com", "表示用"), new System.Net.Mail.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);
このようなメールは実際にどのように送信されるのでしょうか?
From naka@wankuma。com Mon Jul 24 19:44:31 2006
Return-Path: <naka@wankuma。com>
X-Original-To: naka@wankuma。com
Delivered-To: naka@wankuma。com
Received: from wanx64 (unknown [202.212.192.110])
by mail.wankuma。com (Postfix) with ESMTP id EB8B410B545
for <naka@wankuma。com>; Mon, 24 Jul 2006 19:44:30 +0900 (JST)
mime-version: 1.0
From: =?utf-8?Q?=E8=A1=A8=E7=A4=BA=E7=94=A8?= <naka@wankuma。com>
To: =?utf-8?Q?=E8=A1=A8=E7=A4=BA=E7=94=A8?= <naka@wankuma。com>
date: 24 Jul 2006 20:00:50 +0900
subject: =?iso-2022-jp?Q?=1B$BF|K\8l$9#b$8$'#c#t=1B(B?=
content-type: text/plain; charset=iso-2022-jp
content-transfer-encoding: quoted-printable
Message-Id: <20060724104430.EB8B410B545@mail.wankuma。com>
=1B$B$"=1B(B=0D=0A=1B$B#b=1B(B=0D=0A=1B$B#c=1B(B
せっかくsubjectとbodyにはエンコード方式の指定があるにもかかわらず、From, To, Cc, Bcc, ReplyToなどのこのMailAddressクラスにはエンコード方式を指定する方法がありません。
utf-8に自動的にされてしまうのです。
つづく