bool result = false;
string Mailaddress = ConfigurationManager.AppSettings["MailAddress"].ToString();
string MailName = ConfigurationManager.AppSettings["MailName"].ToString();
string MailPwb = ConfigurationManager.AppSettings["MailPwd"].ToString();
string MailSmtp = ConfigurationManager.AppSettings["MailSmtp"].ToString();
MailMessage mailObj = new MailMessage();
mailObj.From = Mailaddress;
mailObj.To = xxxxxxx@126.com;
mailObj.Subject = "您的密碼";
mailObj.BodyFormat = MailFormat.Html;
mailObj.Body = "<h3>" + "aaa" + "您好.<br><br>" + "您的密碼為:" + "aaaaa" + "。<br><br>";
//mailObj.BodyEncoding = System.Text.Encoding.Default;
mailObj.BodyEncoding = System.Text.Encoding.UTF8;
mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", MailName); //set your username here
mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", MailPwb); //set your password here
//mailObj.BodyEncoding = System.Text.Encoding.;
//mailObj.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//郵件採用的編碼
SmtpMail.SmtpServer = MailSmtp;
try
{
SmtpMail.Send(mailObj);
result = true;
}
catch (System.Exception ex)
{
result = false;
}
錯誤產生的原因:
1.mail.BodyEncoding 的編碼格式不正確。
2.設定發送郵件的帳號密碼資訊不正確
3.設定發送郵件伺服器的SMTP地址不正確
上面三種情況都有可能造成發送郵件失敗,報亂碼異常。