在mailto中获取大型正文内容的错误

时间:2012-09-30 16:30:19

标签: html5 email mailto

我正在处理以下脚本,用于邮寄用户动态输入的数据。这适用于数据较少的内容,Outlook窗口正在打开数据。但是当我对大数据使用相同的逻辑时。我在打开Outlook窗口时收到错误,指出“命令行参数无效。验证您正在使用的交换机”。请参阅此链接以查找错误(http://support.citrix.com/article/CTX123773)可能是什么原因.Kindly帮助解决这个问题。

提前致谢。

<html>
<head>
  <script>
    var bodyScript = " ";
    var json = " ";

    function ajaxCall() {
      ajax {
        url: function: loadDetails,
        error: ,
      }
    }

    function loadDetails() {
      bodyScript += "Hi" + json.Name;
      .....
      bodyScript += "%0D%0Awelcome to our Camp .Your ID is " + json.ID;
      .....
    }

    function sendEmail() {
      var link = "mailto:" +
        +"?cc=Sam&subject=test&body=" + bodyString;
      alert('bodyString before mailing ' + bodyString);
      window.location.href = link;
    }
  </script>

  <body>
    <div id=”btnSubmit” onclick=sendEmail()”>click me</div>
  </body>
</html>

1 个答案:

答案 0 :(得分:1)

尝试encodeURIComponent(bodyString),似乎有一些字符(可能的引号)与命令行选项混淆:

var link = "mailto:"+
+"?cc=Sam&subject=test&body="+encodeURIComponent(bodyString);

我在示例中看到你已经urlencode以某种方式断行。因此,您可能必须将其转换为encodeURIComponent(bodyString)

,而不是仅仅使用encodeURIComponent(decodeURIComponent(bodyString))

演示:http://jsfiddle.net/H9ERc/