System.Net.Mail問題その3
この文書はVisual Studio 2005(.NET2.0)をベースに記述されています。それ以降のバージョンや、あなたが読んでいる時点では変更されている可能性があります。
メールアドレスはメールアドレスしか存在しないかもしれませんが、実際のメールでは表示用名称を持っています。
中 博俊 <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に自動的にされてしまうのです。