简体   繁体   中英

problem with send mail method

In this method i send mail

        var mail = new MailMessage();

        mail.Subject = subject;
        mail.SubjectEncoding = Encoding.UTF8;

        mail.IsBodyHtml = mailServer.EsHtml;

        mail.From = new MailAddress(mailFrom, nomFrom,Encoding.UTF8);

        foreach(var item in mailTo)
            mail.To.Add(new MailAddress(item.Key, item.Value, Encoding.UTF8));

        foreach(var item in mailCC)
            mail.Bcc.Add(new MailAddress(item.Key, item.Value, Encoding.UTF8));

        mail.Body = message;
        mail.BodyEncoding = Encoding.Unicode;

        mail.Attachments.Add(new Attachment(attachments));

        var clientMail = new SmtpClient();

        clientMail.Credentials = new System.Net.NetworkCredential(mailFrom, passMail);

        if(mailServer.PuertoCorreo.HasValue)
            clientMail.Port = mailServer.PuertoCorreo.Value;

        clientMail.Host = mailServer.ServidorCorreo;

        clientMail.EnableSsl = mailServer.HabilitarSSL;

        clientMail.Send(mail);

And it works fine but in gmail in the body i got this text਍猀搀搀昀ഀ more text and hotmail in attach name i got this牰敵慢瀮晤.What is wrong in the method?

Try this:

mail.BodyEncoding = System.Text.Encoding.UTF8; 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM