メールと連携したシステムを開発する場合、IMAPやPOP3を使って接続するのが基本でしょう。しかし、独自のプロトコルで取得するのは面倒で、コード量も増えがちです。GmailであればAPIがあるので、より手軽に扱えます。 今回紹介するGlimaはGmailのAPIに対応したRubyライブラリです。

Glimaの使い方

scanはメールの一覧を取得するサブコマンドです。

$ glima scan +inbox
   1 2019/09/09 14:57 16d1498e5ef369c7 XXX YYYさんが DevRel Meetup 
   2 2019/09/09 14:18 16d14752caa5d587 ※本メールは重要なお知らせのため、Yahoo!メールおよびご登

メールIDを指定してメールの文面を取得できます。

$ glima show 16d14984b1184543
Subject: 管理イベント「DevRel Meetup in Tokyo #45 〜DevRel/Japan 報告会〜」に参加申し込みがありました
From: connpass <no -reply@connpass.com>
Date: Mon, 09 Sep 2019 05:56:27 +0000
Message-Id: &lt;010...000@email.amazonses.com>
To: atsushi@moongift.jp
Cc: 

Glimaは添付ファイルにパスワードをつけて、そのパスワードを別メールで送られてくる場合を発端として作られているようです。確かにGlimaを使えば添付ファイルを自動保存して、その直後に送られてきたパスワードを取得するのも容易そうです。さらにMewに対応し、Emacs上でも使えます。

GlimaはRuby製のオープンソース・ソフトウェア(MIT License)です。

yoshinari-nomura/glima: Gmail CLI client.