1

我正在从我的 Web 应用程序发送一封电子邮件,但不幸的是,它在一些电子邮件客户端(如 Outlook.com)中被破坏了。该 url 是使用 HttpUtil.UrlEncode 编码的 URL,在桌面 Outlook 或 gmail 中显示良好,但在 outlook.com 中,链接部分中的 unicode 编码字符被转换回普通字符(: - 等)。

<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>

4

1 回答 1

1

也许尝试以下方法:

  • 我看到你还没有关闭锚标签。
  • 如果 Outlook 正在剥离 url,您应该尝试使用更短的 url(使用url shortner service
于 2013-07-19T17:48:06.463 回答