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を使用してフォーム情報をファイルに保存するオプションを確認しました...しかし、アプリケーションユーザーは、まったく専門家ではないと言っておきましょう. Eメール。(はい、彼らはとても悪いです)
そのため、ユーザーの関与がほぼゼロで、結果がフォーム データと共に送信される電子メールである最も単純なオプションを探します。これらはすべて、サーバー側の言語を使用せず、該当する場合は圧縮アルゴリズムを使用します。
助けてくれてありがとう!