首页 文章

Outlook处理mailto链接中引用的url参数

提问于
浏览
2

我正在尝试使用html链接填充mailto链接的正文 . 目标浏览器是IE 7,邮件客户端是Outlook 2007 . 在我提出问题之前,我会承认body参数适用于短文本消息,如下所示:

https://stackoverflow.com/a/4304779/573083

在这里详细说明:

特殊的“body”表示关联的是消息的正文 . “body”字段值旨在包含消息的第一个text / plain正文部分的内容 . “body”伪头字段主要用于生成用于自动处理的短文本消息(例如邮件列表的“订阅”消息),而不是用于一般MIME主体 . 除了基于UTF-8和百分比编码的字符编码之外,没有其他编码(例如,base64或quoted-printable;参见[RFC2045])用于“body”字段值 . 结果,与'mailto'URI中的消息编码(例如,内容传输编码)相关的头字段是无关紧要的并且必须被忽略 . 出于此特殊目的,已在IANA注册了“body”伪标头字段名称(请参阅第8.2节) .

话虽如此,SO上有许多线程,在body标签中插入链接有不同程度的成功 . 例如:https://stackoverflow.com/a/1455881/573083https://stackoverflow.com/a/9138245/573083

我的问题是类似的,但它特别与outlook渲染嵌入链接的引用参数 . 我目前有以下几乎正在工作:

<a href="mailto:someaddress@somedomain.com?subject=This is a subject&body=http://someserver.somedomain/somepage.aspx?id=1234%26somekey=%22somevalue%22">A link</a>

部分链接在outlook主体中正确显示,但outlook不包括链接中的最终引用的url参数("somevalue"); = "somevalue"只是以纯文本形式出现 . 查看电子邮件消息的来源显示outlook正在关闭封闭的 <a> 标记,因为它将%22解释为链接的末尾 . 我've attempted to escape the %22 with %2f, /, ' - 无济于事 . 我认为我需要正确的outlook序列才能理解%22应该包含在链接中,而不是封闭链接的闭包 .

任何帮助,将不胜感激 .

2 回答

  • 0

    根据 ? 判断,您尚未编码正文组件 .

    > encodeURIComponent("http://someserver.somedomain/somepage.aspx?id=1234%26somekey=%22somevalue%22") 
    "http%3A%2F%2Fsomeserver.somedomain%2Fsomepage.aspx%3Fid%3D1234%2526somekey%3D%2522somevalue%2522"
    

    所以代码应该是:

    <a href="mailto:someaddress@somedomain.com?subject=This is a subject&body=http%3A%2F%2Fsomeserver.somedomain%2Fsomepage.aspx%3Fid%3D1234%2526somekey%3D%2522somevalue%2522">A link</a>
    

    或者更有可能:

    <a href="mailto:someaddress@somedomain.com?subject=This is a subject&body=http%3A%2F%2Fsomeserver.somedomain%2Fsomepage.aspx%3Fid%3D1234%26somekey%3D%2522somevalue%2522">A link</a>
    
  • 1

    我会把链接放在“<”和“>”里面 .

    %20 = space
    
    %0D = new line
    
    %3C = "<"
    
    %3E = ">"
    
    <html>
    <body>hi
     <a href="mailto:someaddress@somedomain.com?subject=This is a subject&body=Hi,%0DThis%20is%20a%20body%0DAlso%20this%20is%20a%20link%20%3Chttp%3A%2F%2Fsomeserver.somedomain%2Fsomepage.aspx%3Fid%3D1234%26somekey%3D%22somevalue%22%3E%20have%20fun.">A link</a></body>
    
    </html>
    

相关问题