c# - 使用 SmtpClient 发送带有查询字符串的 url

标签 c# query-string urlencode smtpclient

此处的基本问题:我正在使用 .NET 框架 (3.5) 的默认 SmtpClient 发送电子邮件。正文类型是 HTML (IsBodyHtml = true) 在正文中,我在查询字符串中添加了一个带有两个参数的 url,如下所示:

http://server.com/page.aspx?var1=foo&var2=bar

这个 get 被编码为:

http://server.com/page.aspx?var1=foo%26var2=bar (the ampersand is encoded as percent-26)

当执行一个简单的 Request["var2"] 时,我得到“null”。 我应该如何正确编码邮件消息中的 & 符号?

最佳答案

这对我来说很好:

var client = new SmtpClient();
client.Host = "smtp.somehost.com";
var message = new MailMessage();
message.From = new MailAddress("from@example.com");
message.To.Add(new MailAddress("to@example.com"));
message.IsBodyHtml = true;
message.Subject = "test";
string url = HttpUtility.HtmlEncode("http://server.com/page.aspx?var1=foo&var2=bar");
message.Body = "<html><body><a href=\"" + url + "\">Test</a></body></html>";
client.Send(message);

关于c# - 使用 SmtpClient 发送带有查询字符串的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279830/

相关文章:

c# - 使用 XElement 时如何输入文本

c# - 按反射排序比按成员排序更快?

java - 这会被认为是糟糕的 RESTFul 设计吗?

.net - 使用 HttpUtility.UrlEncode

urlencode - 什么时候应该将空格编码为加号 (+) 或 %20?

c# - 如何从 Windows 10 UWP 应用程序连接到 SQL 服务器数据库

Java Play 查询参数分隔符

c++ - 找到一个字符串在另一个字符串中的位置

java - URLEncoder.encode() 和空格?

c# - 使用登录控件显示自定义错误消息时出现问题。