メーラーを使っていると、新着メールが来ると通知が来るでしょう。これは便利ですが、常に通知がベストという訳ではありません。場合によってSlackに情報が欲しい場合もあれば、社内システムに書き込んで欲しいこともあるでしょう。 そうしたメール受信に合わせてシステムを実行するのに向いているのがnode-gmail-watcherです。

node-gmail-watcherの使い方

node-gmail-watcherを起動しておくと、新着メールがあると指定したコマンドが実行されます。

--- Watching mailbox --- 
Mailbox {
 name: 'すべてのメール',
  :
{ html: '<div dir="ltr">これはテストです。...</div>\n\n',
 text: 'これはテストです。\r\n--\r\nMOONGIFT Inc.\r\nAtsushi Nakatsugawa - atsushi@moongift.jp\r\n',
 headers: 
  { 'mime-version': '1.0',
      :
    'content-type': 'multipart/alternative; boundary="001a113f492eb23d4b0554099900"' },
 subject: 'テストメール',
   :
 receivedDate: 2017-07-11T12:11:33.000Z }

--- Execute command ---
php test/test.php
--- command finished: 0

今回はtest/test.phpが実行されています。標準入力にJSONでメールのデータが渡されるので、それを解析すれば良いだけです。面倒なメール解析部分は終わっていますので、簡単に扱えるでしょう。Gmailに特化したツールになっていますので、スパムフィルタも使えてシステムで必要なメールだけに限定して取得できそうです。

node-gmail-watcherはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

DaikiSuganuma/node-gmail-watcher: This is monitoring gmail box using IMAP.