现在的位置: 首页 > 综合 > 正文

asp.net 发邮件报乱码 ó?·t???÷μ?′?ê?á??ó꧰ü?£

2013年01月08日 ⁄ 综合 ⁄ 共 1491字 ⁄ 字号 评论关闭

 

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

【上篇】
【下篇】

抱歉!评论已关闭.