モバイル用に最適化しようとしているWebアプリケーションがあり、Androidフォンのデフォルトのメールクライアントで簡単なmailto機能が機能していません。Gmailクライアントでは機能しますが、Exchangeメールと統合するためのネイティブクライアントでは機能しません。(iphone fwiwでも機能するようです。)ネイティブクライアントで起こっていることは、キャリッジリターン後のすべてが遮断されることです。だから私は次のようなものを持っていると言います:
sendLinkByEmail: function (subject, message, url)
{
var parsedMessage = encodeURIComponent("Isn't this cool?\n I am sending you an email!");
var emailLink = "mailto:?Subject=" + encodeURIComponent(subject) + "&body=" + parsedMessage;
window.location = emailLink;
return false;
}
Gmailアプリで開くことを選択した場合、期待どおりの結果が得られます。
かっこいいじゃないですか。
私はあなたにメールを送信しました!
しかし、メールアプリで開くと、
かっこいいじゃないですか。
以上です。
\ nの代わりに%0Aまたは%0D%0Aを使用する場合、またはencodeURIComponentを使用しない場合も同じことが起こります(たとえば、メッセージは文字通り「Foo%0D%0ABar」です。Fooを取得します)。
その愚かなメールクライアントが何をしているのか理解できません!誰か考えがありますか?
どうもありがとう!!!
私の問題はさらに深刻であることに気づきました。モロニックメールクライアントは、エンコードされた&(%26)の後でさえも切り捨てます。したがって、関数の要点であるURLも埋め込むことができません。
Webアプリケーションからメールクライアントを開くためのmailtoの代替手段はありますか?