【问题标题】:Limit on mail body when posting a mailto: form发布邮件时限制邮件正文:表格
【发布时间】:2011-01-25 13:34:31
【问题描述】:

我有一个带有 很多 输入字段的 HTML 表单,我用它来填充电子邮件。我今天了解到,使用 GET 方法会限制发布内容的大小。但据我所知,使用 POST 没有限制。好吧,可能是因为我相信这可能是我的问题。我的电子邮件在达到一定大小时无法在电子邮件客户端中打开(或者如果我使用了太多输入字段?)

用户将无法拥有持续的互联网连接,唯一“可靠”的通信方式是通过电子邮件。他们对计算机的使用受到限制,不能运行任何可执行文件。这就是为什么我创建了一个包含大量用于创建电子邮件正文的 javascript 的 HTML 文件。一些用户有一个电子邮件客户端,如果是这种情况,我想打开一封新电子邮件,其中包含 HTML 文件中表单的内容。

那么,在发送带有 action="mailto:" 的表单时,正文的大小是否存在某种限制?

【问题讨论】:

    标签: internet-explorer firefox email browser outlook


    【解决方案1】:

    在 Firefox 3.5.8 上测试,使用 action="mailto:" 时,我只能将 1994 个字符填入 POST 表单。通常,您希望避免使用带有 body 参数的 mailto:。

    也许只是让他们手动将生成的电子邮件的正文复制/粘贴到他们的客户端中。它非常粗鲁,但有时你必须即兴发挥....

    【讨论】:

    • 此外,对于这个长度的字段,IE 似乎返回一个错误,抱怨“默认邮件客户端未正确安装”。
    • 这是让我想知道发生了什么的错误消息。嗯,所以最大字符数是~2000。这意味着它通常与使用 GET 时相同。使用 POST 发送表单时是否有任何限制,而不是使用 action="mailto:"?我猜你不能告诉浏览器以某种方式扩展限制?我有可用于复制/粘贴的正​​文,但这似乎对用户不友好。
    • 我相信 POST 请求的大小通常会受到服务器配置的限制(不同的服务器有不同的默认值)。您提到您没有一致的 Internet 访问权限来使用,您的服务器是否有能力直接发送电子邮件?您可以考虑使用 PHP 等脚本语言为用户发送电子邮件,而不是为他们打开电子邮件客户端。如果您只是使用操作页面来处理请求(假设您的电子邮件不是 20MB 的文本),则 POST 长度不应该遇到任何问题。
    【解决方案2】:

    在 IE 上使用 GET 时,您总共是 limited to 2083 characters。这适用于所有使用 GET 的东西。

    【讨论】:

      【解决方案3】:

      补充一下 voyager 所说的:在 FF 上,URL 长度的限制也是类似的。

      但最好的方法是测试它,因为 IE8 上的实例我注意到如果 url 是 2080 /它适合 2083 最大长度(它仍然不适用于 mailto 协议)

      您可以通过在页面中添加表单中的 url 轻松地进行此类测试

      <a href="mailto:xx@xy.com?subject=Hello&amp;body=Babe">click to send mail</a>
      

      如果href值的总长度大于一定长度(大约2083,但小于这个),点击url时会看到浏览器赢了'甚至不尝试打开邮件。这不仅适用于 IE(至少 6/7/8),也适用于 FF(至少 3.6)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 2011-09-16
        相关资源
        最近更新 更多