MenuBarGmail で出来そうな事を追加して 取り敢えずメールを送れる様にしてみました。
MenuBarGmail
MenuBarGmail は rumps というライブラリを使って作ったMacのメニューバーアプリです。
Gmail API を使ってGmailの未読数をメニューバーに表示したり 新着メールをお知らせしたりするのが目的です。 同じようなアプリはいくつかありますが、取り敢えずrumpsを使って 簡単に作れそうだったので自分で作ってみた、と言う所。
他のアプリにはない機能として ラベルを指定したり(複数可)、フィルタを設定したりして メールを絞って未読数を見ることが出来ます。
追加機能
最初は取り敢えず未読数を取ってくるだけでしたが、 今回はメールを既読にしたり、 返信したりする機能を付けてみました。
メニューバーから各メールの題名や内容の部分をクリックすると ブラウザで表示する代わりにまず
こんな感じのウィンドウが出る様になりました。
ここで
Mark as read
を押せば既読になります。
また、Reply
を押すと
こんな感じの送信用ウィンドウが出ます。
編集後にSave
を押せば下書きに保存されます。
Send
を押せば送信出来ます。
この辺り、送信などもGmail APIを使うと簡単に出来ます。
上のマニュアルには Java、.NET、PHP、Python、JavaScript の例が載ってますが、これをそのまま使うだけで十分使える様になります。
ただ、この送信画面がまだ全然ダメで、 テキストエリアに関して、まず元の文章によってはエラーが出て表示が出来ない事があります。
また、改行を入力するにはEnterを押してはダメで(押すとCancel
ボタンを押したことに鳴ってしまう)
⌘-Enterをする必要があります。
その上、改行を入れると保存時、送信時にエラーが出ることがありあます。
なので今のところこれは全く実用的ではありません。。。
どうもrumpsの入力画面が複数行を使えるようなものになっていないみたいで、 この部分をいじる必要がありそうです。
また、Gmailにはエイリアス機能 1 という物があって 他のメールアドレスとして送る事が出来ます。
複数のメールをGmailに転送して使っている様な場合には必須です。
送信機能をつけるに辺り、 このエイリアスの情報を取ってきたかったのですが、 どうもGmail APIでは出来ないみたいです。
これだとメールアドレスとトータルメール数くらいしか取れない。
Google AppsのEmail Settings API にはエイリアスを取得する機能があるのですが、 こちらはGoogle Appsのものなので普通のGmailのものとしては使えません。
どうやら今のところはエイリアスをGmail APIで取ってくるのは無理なようで、 エイリアスが設定されていれば自分でFromに書くことで使う事は可能な様です。
Retrieving Send-as settings from Gmail Account: http://findsupport.xyz/question/31145696/retrieving-send-as-settings-from-gmail-account
gmail - Get all email addresses of user using Google API - Stack Overflow
この辺のFromやToを変更するダイアログを作るだけなら 簡単なので追加することは出来ますが、 取り敢えずメールの本体をまともに書けない状態なので、 ウィンドウごと自分で作るようにして、 その中でToやFromも編集できる様にするべきかな、と言った感じ。
まとめ
取り敢えず形としてメールを送信したり 出来るようにはなりましたが、 まともに使える様にするにはrumpsだけだと限界かな、と。
送信ウィンドウをちょっと自作すれば良い感じにまとまるので そのくらいまではやってみようかな。