さまざまなメールを通知としてSlackに飛ばす(3)

昨日までの内容で動作するようになったら、あとは定義を増やしていくことと、自動的に実行することで目的を達成できます。

設定ファイルは、以下の内容をJSON形式で構成します。

“username” : Slackに投稿するときの名前
“channel” : Slackの投稿先チャンネル
“title” : メールのタイトルに、ここで示す文字列が含まれていれば対象とする
“fromText” : メールの本文のそれぞれの行で、ここで示す文字列が含まれる行が見つかれば、それより後の内容を転送する
“toText” : メールの本文のそれぞれの行で、ここで示す文字列が含まれる行が見つかれば、それより苗の内容を転送する

“fromText”は空文字列にすることもできます。この場合には、メール本文の先頭から転送対象にします。”toText”は空文字列にはしないでください。メール本文の最後まで転送対象にしたい場合には、メール本文に含まれることがない文字列を指定してください。

私が作成した、具体的な例は次の通りです。楽天証券や楽天カードを利用しているのがバレてしまいますが…

[
{
"username" : "Rakuten",
"channel" : "stock",
"title" : "国内株式の注文が約定しました",
"fromText" : "国内株式の注文が約定しました。",
"toText" : "約定は一部約定の場合があります。"
},
{
"username" : "Rakuten(配当金)",
"channel" : "stock",
"title" : "配当金の入金予定をお知らせします",
"fromText" : "■配当情報",
"toText" : "▼配当・分配金"
},
{
"username" : "Amazon",
"channel" : "notification",
"title" : "本日到着予定:",
"fromText" : "",
"toText" : "配送状況:"
},
{
"username" : "佐川",
"channel" : "notification",
"title" : "佐川配達予定案内",
"fromText" : "",
"toText" : "★配達日・時間帯指定の変更はコチラから"
},
{
"username" : "楽天",
"channel" : "notification",
"title" : "[楽天]ログインしましたか?",
"fromText" : "",
"toText" : "上記のログイン記録に"
},
{
"username" : "JAL",
"channel" : "notification",
"title" : "座席変更のお知らせ",
"fromText" : "",
"toText" : "ご搭乗クラス、ご予約便に"
},
{
"username" : "楽天カード",
"channel" : "money",
"title" : "【速報版】カード利用のお知らせ",
"fromText" : "速報情報",
"toText" : "メールの概要についてさらに詳しく"
},
{
"username" : "楽天カード",
"channel" : "money",
"title" : "カード利用のお知らせ(",
"fromText" : "リボ払い変更可能なご利用分",
"toText" : "ご利用分のお支払い方法の変更が"
},
{
"username" : "ヨドバシ",
"channel" : "notification",
"title" : "ヨドバシ・ドット・コム:ご注文商品出荷のお知らせ",
"fromText" : "(表示の価格は、すべて消費税総額表示です)",
"toText" : "・今回の還元ゴールドポイント数"
}
]

あとは、これを定期的に実行するのは簡単です。G Suite Developer Hubを開き、左側のメニューから「マイトリガー」をクリックします。トリガーが何もない場合には、ここからトリガーを追加できます。既にトリガーの定義がある場合には、JavaScriptのエディタ画面のメニューで、「編集」→「現在のプロジェクトのトリガー」を実行後、右下の「トリガーを追加」で追加できます。

あとは、下の画像のように、関数gmailToSlackを1分ごとに実行すればOKです。メールが来る頻度によっては、「5分おき」などでも良いと思います。

これで、必要な情報のみがSlackに転送され、Slackの投稿を検知したスマートフォンの通知がMi band 3に転送される、という流れを構築できました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です