C# 邮件正文:&;变为(R)

C# 邮件正文:&;变为(R),c#,asp.net,email,C#,Asp.net,Email,我们有一个网站,当新客户注册时,我们会从该网站向客户发送自动生成的邮件。我们的邮件有一个激活链接,看起来像 但当我们的德国客户收到邮件后,他收到了下面的激活链接,您会注意到&角色更改为® id=907a5253-106c-4fb3-9882-83e634e651b2 有人能告诉我为什么&character要更改为®? 如何解决此类问题?尝试使用CreateAlternateViewFromString属性,下面是示例代码 MailMessage emailmsg = new MailMessa

我们有一个网站,当新客户注册时,我们会从该网站向客户发送自动生成的邮件。我们的邮件有一个激活链接,看起来像

但当我们的德国客户收到邮件后,他收到了下面的激活链接,您会注意到&角色更改为®

id=907a5253-106c-4fb3-9882-83e634e651b2

有人能告诉我为什么&character要更改为®?

如何解决此类问题?

尝试使用
CreateAlternateViewFromString
属性,下面是示例代码

MailMessage emailmsg = new MailMessage("from@address.co.za", "to@address.co.za")
emailmsg.Subject = "Subject";
emailmsg.IsBodyHtml = false;
emailmsg.ReplyToList.Add("from@address.co.za");
emailmsg.BodyEncoding = System.Text.Encoding.UTF8;
emailmsg.HeadersEncoding = System.Text.Encoding.UTF8;
emailmsg.SubjectEncoding = System.Text.Encoding.UTF8;
emailmsg.Body = null;

var plainView = AlternateView.CreateAlternateViewFromString(EmailBody, emailmsg.BodyEncoding, "text/plain");
plainView.TransferEncoding = TransferEncoding.SevenBit;
emailmsg.AlternateViews.Add(plainView);

SmtpClient sSmtp = new SmtpClient();
sSmtp.Send(emailmsg);

听起来像是字符编码,邮件正文是html格式的吗?尝试将替换为:-&;CreateAlternateViewFromString做什么?你能解释一下我是如何从你的代码中获益的吗?@Thomas:你有没有像上面的例子那样尝试
AlternateViews