我正在使用 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 编码。
知道如何解决这个问题,或者任何人都知道为什么这行不通。