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 });

ただし、Exchangeを介してOutlookアカウントに電子メールを送信すると、これはすべて機能します。'?'ではなく%3Fを読み取るようにURLを変更します 私が読んだことから、これはMicrosoftExchangeがURLエンコードを行うためです。

私がこれをどのように修正できるか、または誰かがおそらくこれがうまくいかない理由についての経験を持っているかどうか。

4

1 に答える 1

0

解決策は、URL ビルダーを使用して「?」を追加しないことです。その (QueryString) 属性内で、これを %3F にキャストします。

于 2012-09-11T14:28:02.993 に答える