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地址不正确
上面三种情况都有可能造成发送邮件失败,报乱码异常。