有效最大mailto:体长

Bri*_*ett 42 mailto compatibility email-client cross-browser multiple-browsers

mailto:链接的&body部分中的文本有最大长度.根据我的一位同事的说法,W3C将限制发布为256(尽管如此,我没有提供支持的链接).

我们在电子邮件和网页中嵌入了mailto:links,并成功使用了超过256个字符.但是,在某一点之后,电子邮件客户端和浏览器开始剥离并拒绝打开链接.

我想知道以下允许的实际最大长度:

邮件客户:

  • 展望(2003年,2007年,2010年)
  • Eudora(7.1,和/或最新版本)
  • 雷鸟(最新版)

浏览器:

  • Firefox(3+)
  • IE浏览器(6,7,8)
  • iPhone浏览器

我们将非常感谢您提供的任何和所有号码.

jle*_*lev 29

该标准没有定义最大长度,将实现留给浏览器和邮件客户端(参见IETF RFC 2368).

Microsoft产品确实设置了限制:

其他浏览器可能会超出合理的电子邮件正文的长度.iPhone没有文档限制,但最多可以使用1MB的文本.

支持数据网址的现代浏览器(IE <9以外的所有内容)应该没问题.

  • 链接到iPhone mailto长度测试:http://www.benzado.com/blog/post/28/iphone-openurl-limit (4认同)
  • 在我的IE10中,长度为2054的mailto链接失败,而长度为2045的mailto链接失败. (2认同)

Kev*_*Kev 11

对于具有JS控制台的浏览器,一个简单的测试:

for (var i=2014; i>1600; i--) {var good=1; try {location.href='mailto:?body='+'a'.repeat(i)} catch (e) {good=0;} if (good==1) {console.log(i+13);break;}}
Run Code Online (Sandbox Code Playgroud)

(13是长度mailto:?body=.)

在Firefox 32.0.3上,这产生了2008(体长1995).在Thunderbird 31.2.0上,所有1,995个字符都成为新电子邮件的正文.

有人说它主要依赖操作系统设置,但至少在Windows上,我找不到任何与mailto2000附近数字相关的注册表项.


小智 6

截至 2022 年,Outlook(至少是 2007 年)似乎在 Firefox 中使用 mailto 接受至少 8000 个字符的长 query_string。然而,使用 Google Chrome 浏览器时,Chrome 在 2000 年左右就失败了。最低的共同点似乎是 Chrome。太糟糕了,因为这已经是十多年来的要求了。