質問: ### 前提・実現したいこと HTML上からこちらにあるような形でGmailの作成URLへJavaScriptで飛ばしたのですが、以下の2条件を満たした場合に、Googleが500エラーとなってしまいます。 * 生成したリンクがメールの本文まで含むなど、かなり長い(パーセントエンコード後に5kBytesほどになっていました) * Gmailを同じブラウザで事前なり並行してなりで開いていない この問題を回避して、Gmailの本文や宛先などを指定した**メール作成画面を表示したい**(自動的にメールを送信したいわけではないです)のですが、どのようにすればいいでしょうか。 なお、 * ベースとなるシステム自体がGoogleログインを前提としていますので、「Gmailが使えない」という状況は考えなくて構いません。 * 「Gmailに頼らず、自力でメール作成画面まで作って送信を行う」という手段はもちろんありますが、できればGmailの作成機能にもっていきたいです。 * ブラウザサイドのHTML、JavaScriptだけでなく、Google Apps ScriptやサーバサイドのRailsなどを動員するのもありです。 ### 発生している問題・エラーメッセージ ``` Google 500. That’s an error. There was an error. Please try again later. That’s all we know. ``` ### 該当のソースコード ``` open('https://mail.google.com/mail/?view=cm&to=foo@example.com&body=.....'); ``` ### 試したこと * URLに入れるパラメーターが短い場合は、問題なくメール生成が可能でした。 ### 補足情報(FW/ツールのバージョンなど) * G Suite環境、通常のGoogleアカウントを問わず発生 * ブラウザ:Chrome、Firefoxなどどれで試しても同じ状況に * サーバサイド:Rails 4.2
回答: Go で Gmail API を使って下書きを作るツールを作っている人がいます。 Gmail API for Goで、下書き生成ツールを作りました。 中を確認したわけではないので外しているかもしれませんが、画像を見る限り Gmail のメール作成画面に見えます。 JavaScript に移植可能ならこれでできるのではないでしょうか。