我正在从我的网络应用程序发送一封电子邮件,但不幸的是,它在outlook.com这样的电子邮件客户端中被破坏了。该URL使用HttpUtil.UrlEncode进行URL编码,在桌面Outlook或gmail中显示正常,但在outlook.com中,链接部分中的unicode编码字符将转换回普通字符(: - etc)。
<a href="http://1.1.1.1/fulfillment/URLLink.acsm?action=enterorder&ordersource=AAAA&orderid=AAAA&resid=urn%3auuid%3a52345ffd-d3a4-2452-fas3-234234df3fda&gbauthdate=07%2f15%2f2013+09%3a46&dateval=1373892365&gblver=4&auth=52345ffdd3a4a452fad3234234df3fda4324ad6d">http://1.1.1.1/fulfillment/URLLink.acsm?action=enterorder&ordersource=AAAA&orderid=AAAA&resid=urn%3auuid%3a52345ffd-d3a4-2452-fas3-234234df3fda&gbauthdate=07%2f15%2f2013+09%3a46&dateval=1373892365&gblver=4&auth=52345ffdd3a4a452fad3234234df3fda4324ad6d</a>
当您点击outlook.com中的链接时,它会打开:
http://1.1.1.1/fulfillment/URLLink.acsm?action=enterorder&ordersource=AAAA&orderid=AAAA&resid=urn:uuid:52345ffd-d3a4-2452-fas3-234234df3fda&gbauthdate=07/19/2013+17:11&dateval=1374264715&gblver=4&auth=52345ffdd3a4a452fad3234234df3fda4324ad6d
我的想法已经不多了。任何人吗?
更多信息:邮件在邮件客户端收到时,邮件是base64编码:
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
里面的HTML标题是:
<!DOCTYPE HTML PUBLIC"-//IETF//DTD HTML//EN"><html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"></head>