【问题标题】:MAILTO max-length of each internet browsers?MAILTO 每个互联网浏览器的最大长度?
【发布时间】:2021-10-12 09:14:23
【问题描述】:

更新: 在这个问题之前两年,有人问过类似的问题:Effective maximum mailto: body lengths 正如Peter O. 所指出的那样幸运的是,这两个问题的答案是互补的 :-)过去两年很多,因此我们可以说这个问题是另一个问题的更新;-)


规范不限制mailto命令长度:

  1. RFC 6068规范
  2. HTML 4 规范(mailto 命令是一个 URL)
    (请看this SO answerthis SO question的答案和this one的评论)

因此mailto 命令长度取决于互联网浏览器的实现。

我猜很老的浏览器不能很好地处理使用超过 255 个字符的mailto 命令。

然而,如今,内存大小不再是mailto 命令长度的问题。

最常见的 互联网浏览器的mailto 最大长度是多少?

看看浏览器是否收敛到相同的mailto长度限制应该很有趣。

【问题讨论】:

标签: internet-explorer firefox google-chrome opera mailto


【解决方案1】:

除了系统可用内存之外,Firefox 不会对 URL 的长度施加任何限制,因此您必须在调用进程时查看操作系统对参数最大长度的限制。

此外,您可以将 Web 应用程序设置为 mailto URI 方案处理程序,在这种情况下,限制取决于接受请求的服务器。 Firefox 带有一些选项,例如 Gmail 和 Yahoo!邮件,您可以使用navigator.registerProtocolHandler 注册您自己的处理程序。如果您好奇,请打开 about:config 并过滤“gecko.handlerService.schemes”以查看您在浏览器中配置的 Web 应用程序处理程序。

我不能说其他浏览器,但是一旦你开始依赖这么多不同的变量(浏览器、可用内存、操作系统、服务器),最好尝试不同的策略。

【讨论】:

  • +1 感谢您的第一个回答。 Firefox 方面没有限制:Firefox 确实尊重标准!我不知道网络应用程序可以作为mailto 客户端,我很好奇该怎么做......干杯;-)
  • 我已经用一些关于 Web 协议处理程序的细节编辑了答案。
  • 感谢您的提示。我使用这两个链接将 GMail 设置为我的默认电子邮件客户端:googlesystem.blogspot.fr/2009/06/…ubuntuforums.org/showthread.php?t=1969207
  • 如果mailto URL 仅包含 715 个字符,但包含 20 个电子邮件地址,则 IE9 无法发送电子邮件。它似乎最多只能发送到 12 个电子邮件地址,在我的特定情况下大约是 400 个字符。
【解决方案2】:

不幸的是,浏览器和各种客户端非常松散地遵守 RFC 文档,但要回答您的问题,您可以查看 this answer

【讨论】:

  • 谢谢雷扎。我没有注意到这个 SO 问题。我知道最近的浏览器接受很长的mailto 命令。因此,如今,限制更多的是在操作系统和电子邮件应用程序上。干杯
【解决方案3】:

仅供参考,我发现 google chrome 的最新版本 (23.0.1271.95) 只能让我生成一个最大长度为:

1910 个字符

【讨论】:

    【解决方案4】:

    Safari 和大多数电子邮件客户端没有硬限制(取决于可用的 CPU 和 RAM)

    2015 年网络浏览器测试:

    • 野生动物园
      • 705000000
      • 2 分钟
      • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56
      • 受 16GB RAM 限制
    • 火狐
      • 268435455
      • 20 秒
      • Mozilla/5.0(Macintosh;Intel Mac OS X 10.10;rv:41.0)Gecko/20100101 Firefox/41.0
      • 受最大字符串长度限制
      • 2097132
      • 1 秒
      • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
      • 限制不解释
    • IE
      • 2029
      • 5 秒
      • Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) 像壁虎
      • 限制不解释

    2015 年电子邮件客户端测试:

    • Mozilla 雷鸟
      • 2097132 1 秒工作
      • 268435455 使用 100% CPU 2 分钟,但未能渲染主体,无法使用
      • 版本 38.3.0
    • 海猴
      • 2097132 5 秒内工作
      • 268435455 长时间使用 100% CPU(超过 5 分钟)
      • 2.38 版
    • 苹果邮件
      • 500000 件在 14 秒内工作
      • 2097132 长时间使用 100% CPU(超过 5 分钟)
      • 8.2 版
    • 微软 Outlook
      • 在 1 秒内调整到 2070
      • 2013 版

    2017 年更新

    Chrome 61 在 macOS(16 GB RAM)上仍然可以使用 2097132 长度;

    navigator.userAgent;
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
    location.href='mailto:?body='+'a'.repeat(2097132);
    

    根据 Windows 上的@Chloe(32 GB RAM)限制为 1800;

    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
    

    【讨论】:

    • 你从哪里得到这些数字的? Chrome 远不及 200 万个字符。在链接停止工作之前,我看到了 1800 左右的限制。
    • 哦,这就是区别。是窗户。 "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36".
    • 32 GB 内存
    【解决方案5】:

    如果我使用 JavaScript 函数构建 mailto URL(带有动态标题和正文)然后调用 window.open(url) 来启动默认电子邮件客户端,则此 URL 的最大长度似乎要短得多。如果 URL 太长,EMail 客户端将不会被激活。

    这是仅适用于在 Windows 上运行的浏览器的最大长度。

    • Chrome 64.0.3282.186 上 2042 个字符
    • Edge 16.16299 上有 2046 个字符
    • 在 Firefox 58.0 上大约有 32700 个字符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 2011-06-05
      • 1970-01-01
      相关资源
      最近更新 更多