MVC サイトにフィードバック フォームがあります。このフォームをメールで送信する必要があります。
フォームをテストしたいので、MailMessage オブジェクトを *.eml ファイルとしてディスクに保存します
[HttpGet]
public ActionResult Contacts()
{
FeedbackForm temp = new FeedbackForm();
temp.Message = @Resources.Global.Contacts_Form_Message_Field;
return View(temp);
}
[HttpPost]
public ActionResult Contacts(FeedbackForm Model)
{
MailMessage msg = new MailMessage();
msg.BodyEncoding = Encoding.UTF8;
msg.From = new MailAddress(Model.Email,
@Resources.Global.Contacts_Form_Email_Title);
msg.To.Add("tayna-anita@mail.ru");
string message = @Resources.Global.Contacts_Form_Name_Field + ": "
+ Model.Name + "\n"
+ "Email: " + Model.Email + "\n"
+ @Resources.Global.Contacts_Form_Phone_Field + ": "
+ Model.Phone + "\n\n"
+ Model.Message;
msg.Body = message;
msg.IsBodyHtml = false;
SmtpClient client = new SmtpClient("mysmtphost");
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = @"C:\test";
try
{
client.Send(msg);
}
catch (Exception ex)
{
}
FeedbackForm tempForm = new FeedbackForm();
tempForm.Message = @Resources.Global.Contacts_Form_Message_Field;
return View(tempForm);
}
そして私は得る:
X-Sender: "Letter from site" <sssssss@mail.ru>
X-Receiver: tayna-anita@mail.ru
MIME-Version: 1.0
From: "Letter from site" <sssssss@mail.ru>
To: tayna-anita@mail.ru
Date: 21 May 2013 16:57:55 +0400
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
TmFtZTogdGVzdCB0ZXNzc3NzdApFbWFpbDogc3Nzc3Nzc0BtYWlsLnJ1ClBob25lOiA4
OTIwODcxMzA2MQoKW2F1XSBDaG9pY2VzIChjb25maWRlIGluIG1lKSAtIGhhcnZleSB4
IG1pa2UgW2F1XSBDaG9pY2VzIChjb25maWRlIGluIG1lKSAtIGhhcnZleSB4IG1pa2Vb
YXVdIENob2ljZXMgKGNvbmZpZGUgaW4gbWUpIC0gaGFydmV5IHggbWlrZQ==
なぜ手紙の本文はそのように見えるのですか?
サイトから英語とロシア語で手紙を送り、設定しmsg.BodyEncoding = Encoding.UTF8;
ます。
エンコーディングで問題が発生しないようにするにはどうすればよいですか?