我有一个通过 mailto 提交到电子邮件服务器的表单。
如您所知,mailto 内容有一个限制,因为它超出了 URL 字符限制,因此无法正常工作。
我开发了一些特定于域的自定义数据压缩,但仍然不够(如果所有字段都被填满,它将突破限制,这很罕见......但罕见对客户来说已经足够糟糕了。永远不会更好。 )。
我找到了 Lempel–Ziv–Welch 算法(http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch)并得出结论,它可以让我节省 40% 的平均长度.
不幸的是,我当然需要调用 encodeURIComponent 将其发送到 mailto,并且由于 LSW 算法将返回许多 URL 不受支持的字符,这实际上会使 URL 编码后变得更糟。
在您告诉我使用服务器端语言向服务器发布帖子会更容易之前,让我告诉您这是一个非常独特的情况,表单必须通过客户端应用程序通过电子邮件提交,因为电子邮件是最终用户与外界联系的唯一途径...
那么,你知道有什么方法可以有效地压缩数据而不用 encodeURIComponent 破坏它吗?
或者有没有办法在不通过浏览器的情况下将内容发送到 mailto?
我已经看到了一些使用 ActiveX 和其他东西打开 Outlook 的方法,但这是特定于浏览器/电子邮件客户端的。
我还检查了我使用javascript将表单信息保存在文件中的选项......但是应用程序用户,好吧,我们只是说他们根本不是专家,据我所知,他们可能无法附加电子邮件。(是的,他们就是那么糟糕)
因此,我寻找最简单的选项,其中用户参与度几乎为 0,结果是与表单数据一起发送的电子邮件,所有这些都没有服务器端语言,如果适用,还带有压缩算法。
非常感谢你的帮助 !