我使用mailsystem.NET库将邮件放入收件箱。这是我的代码:
Imap4Client imap = new Imap4Client();
imap.ConnectSsl("imap.gmail.com", 993);
imap.Login(mylogin, mypassword);
Mailbox mails;
mails = imap.SelectMailbox("INBOX");
Message commomMessage = new Message();
commomMessage.From = new Address("someAddress", "someName");
commomMessage.To.Add(mylogin, "myName");
commomMessage.Subject = "someSubject";
commomMessage.BodyHtml.Text = "Привет мир";//or some cyrillic text
commomMessage.Date = DateTime.Now;
mails.Append(commomMessage);
当我打开gmail收件箱时,我看到此邮件,但正文包含
????? ???
而不是“приветмир”。如果commomMessage.BodyHtml.Text
仅包含拉丁字符,则没有问题。 最佳答案
如果Message
类继承自.NET的MailMessage
类,请尝试使用其BodyEncoding
属性并将其设置为System.Text.Encoding.UTF8
,例如:
commomMessage.BodyEncoding = System.Text.Encoding.UTF8;
如果
Message
类不是从MailMessage
继承的,请尝试寻找其他方法来为您的电子邮件设置适当的编码。我相信这是您可以使用UTF8编码解决的问题。