【问题标题】:mailto not working with large body contentmailto 不适用于大型正文内容
【发布时间】:2016-10-18 16:28:19
【问题描述】:

我正在尝试使用 mailto 函数在我的 Web 应用程序中获取 Outlook 窗口,使用以下代码。

<a href="mailto:myemail@gmail.com?body=**bodyText**">Send mail</a>

如果 bodyText 少于 1800 个字符,它可以正常工作。但它会截断超过 1800 个字符的数据。如果正文内容超过 1800,则 Outlook 窗口仅显示 1800 个字符并截断剩余内容。

【问题讨论】:

  • 我敢打赌这与 URL 长度限制有关。这可能因浏览器而异(不幸的是,我无法记住实际数字)。所以有两件事 - 您正在使用/定位哪个浏览器,出于好奇,您为什么需要在链接中预定义的电子邮件文本那么大(我想不出原因)?
  • 这应该有助于重新限制 URL 长度 - stackoverflow.com/questions/417142/…
  • 我同时使用 Chrome 和 Firefox。它是使用 mailto 的客户要求(他们只想预览正文,并在将其发送给其他人之前进行必要的更新)
  • 我无法在 OS X 上使用 Chrome 51 重现此内容。我能够使用正文中包含 4000 个字符的链接,它们都显示在邮件中。
  • @Barmar 我使用的是 Windows 10 和 Ubuntu14.04。

标签: javascript html meteor outlook html5-canvas


【解决方案1】:

首先,我将参考this 了解为什么存在 URL 长度限制。我已经尝试使用最新的 Firefox 和 Outlook 2010 进行快速测试

<html>
<body>
<form action="mailto:me@me.com">
<textarea name="body"></textarea>
<br/>
<input type="submit" />
</form>
</body>
</html>

在我的情况下,限制是 2061 个字符,但这将与电子邮件长度进行权衡。即使使用 POST 方法,结果对我来说也是一样的。

由于列出的原因,链接的问题(及其最佳答案)建议不要依赖超过 2000 年的长度(截至 2016 年 4 月)。

解决这个问题

我可以建议几个探索方向作为替代方案。

  1. 使用脚本调用 Outlook。我不喜欢它(兼容性、安全性),但这可能是 ActiveX 可能成为解决方案的一次。
  2. 如果目标是预览电子邮件、编辑和发送,您可以考虑编写应用程序以从服务器端发送电子邮件的草稿副本。

就我个人而言,我会探索 #2 而不是 #1。在该解决方案中,用户将收到一封包含草稿消息的电子邮件,他们可以对其进行编辑和转发,或者将其复制到新电子邮件中。这并不理想,但它可能满足您的要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2015-05-26
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2016-03-11
    相关资源
    最近更新 更多