UP 的个人资料Technical Knowledge Base照片日志列表更多 工具 帮助

日志


8月9日

System.Net.Mailによってメール送信すると携帯で受信時に文字化けする現象について

従来System.Web.Mailクラスを利用してメール送信を行ってきたが、.NET Framework 2.0では、 System.Net.Mailクラスによるメール送信が推奨されている。互換性を保つ目的で、従来のSystem.Web.Mailクラスも引き続き利用可能となっているが、コンパイル時に注意が表示される。
 
System.Net.Mailでメール送信をプログラムしたが、どうしても携帯へ送信したメールが文字化けして解決できなかった。ちなみに受信に利用した携帯はauのW53CAだ。そのときのソースは次のとおり。
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(smtp);
smtpClient.UseDefaultCredentials = true;
smtpClient.Credentials = new System.Net.NetworkCredential(id, password);
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage(fromMailAddress, toMailAddress, title, message);
smtpClient.Send(mailMessage);
//ごくごく一般的な実装方法。
さらにmailMessage.BodyEncodingやmailMessage.SubjectEncodingもShift_JISに変更してみたがやはり文字化けの現象は改善されなかった。
そのため、しかたなく、従来のSystem.Web.Mailクラスを利用して以下のように実装した。
System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
msg.To = toMailAddress;
msg.From = fromMailAddress;
msg.Subject = title;
msg.Body = message;
System.Web.Mail.SmtpMail.SmtpServer = smtp;
System.Web.Mail.SmtpMail.Send(msg);
これにより文字化けの現象は解決した。
 
[ 関連情報 ]
au携帯メールのsubjectの文字化け
 
わんくまツール Wankuma.Net.Mail V1.0.2
Wankuma.Net.Mailは、System.Net.Mailクラスの諸問題を解決した中博俊さんの自作コンポーネントであるが、残念ながらSMTP認証には対応しておらず、僕の環境のSMTPサーバーには対応しなかった。SMTP認証をかけていないSMTPサーバーも最近は少ないと思うが...。
 

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://snowaqua.spaces.live.com/blog/cns!C6295158C662271!257.trak
引用此项的网络日志