【发布时间】:2019-05-26 11:45:33
【问题描述】:
我有一个模板样式页面,它构建了一个 mailto 链接以在用户默认邮件客户端中打开预构建的电子邮件
我意识到默认情况下使用 URLencode 会将空格替换为 + (并且 pathencode 将替换为 %20 )-但是是否可以在尊重内容中的空格的同时传递正文和主题? - 例如,在 javascript 中使用 encodeURIComponent(yourMessage) 将保留“yourmessage”变量中的空格
private void SubmitEmail(object sender, RoutedEventArgs e)
{
string txt = "text that is an example";
string rnt = "this is also an example";
string PrioStr = "this is an example, of text that will come from a radio buttons contents";
var yourMessage = txt;
var subject =$"firstvariable:{Rnt} secondvariable:{PrioStr}";
var url =$"mailto:test@test.com.com?subject={HttpUtility.UrlEncode(subject)}&body={HttpUtility.UrlEncode(yourMessage)}";
Process.Start(url);
}
- 这是我已经使用 javascript 构建的东西的转换,它在 javascript 中按预期工作,但是当将逻辑应用于 C# 时,它会用“+”符号替换主题/正文中的空格
【问题讨论】:
-
嗨@NineBerry 抱歉,我错过了运行实际 URL 的 process.start!我的错 - 我做了一些修改以使其更完整这作为按钮的一部分发生在 WPF 表单中单击,如果有帮助?
-
您正在测试什么电子邮件应用程序? Outlook (2015) 似乎能够处理转义为
%20的空格。 -
我使用了 Outlook 2013,并且 Windows 10 的默认“邮件”客户端已连接到 gmail 帐户