0

我正在使用 SmtpClient 发送一个简单的 MailMessage

MailMessage mailMessage = new MailMessage("xyz@mydomain.com", "target@mydomain.com");
mailMessage.Subject = string.Format("{0} Notification Item", communication);

在我的身体里,我有。

mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.IsBodyHtml = true;

string Message = string.Format("You have received a new {0} notification from: {1} on Site: {2} please click <a href=\"{3}\">HERE</a> To view this notification item. <br/>Url: {3}<br/>",
new object[] { communicationType.ToString(), Employee.Name, Employee.DefaultSite.Name, thebuilder.Uri.OriginalString });

现在,当我通过交换将电子邮件发送到我的 Outlook 帐户时,这一切都有效。它将 URL 更改为读取 %3F 而不是“?” 根据我的阅读,这是因为 Microsoft Exchange 会进行 URL 编码。

知道如何解决这个问题,或者任何人都知道为什么这行不通。

4

1 回答 1

0

解决方案是不使用 URL Builder 添加“?” 在其 (QueryString) 属性中,它会将其转换为 %3F。

于 2012-09-11T14:28:02.993 回答