LoginSignup
2
0
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

セコム安否確認サービスのメールをLINEへ通知する

Posted at

はじめに

所属会社ではセコムの安否確認サービスを利用して安否確認を行っています。
私は自分のスマホのGmailへ案内が届くように設定しています。
しかし、Gmailは1日でかなり多くのメールが届くことと、発信条件が日本全国が対象となっており、今回のように自分の地域でも揺れれば気づくのですが、遠い地域などではニュースなどを見ていないと気づかず、メールを見落とすことがありました。
そのため、よく使うLINEへ通知できないかとGAS経由でLINEに通知することにしました。

Gmail側設定

自分はわかりやすいように「セコム安否確認」というタグをメールにつくようにしました。
差出人と差出メールとの組み合わせで取りこぼしがないよう設定

GAS側の設定

Gmailでセコム安否確認というメールが来たら実行されます。
内容は本文全文そのまま転載のため、安否確認の返信はLINEからリンクを開けばいいので、メールの見落としもなくスムーズになるかと思います。

実行後にはメールを既読に変更し、新着メールとの区分けをすることで
重複通知がLINEに行かないようにさせています。
またトリガー実行は5分毎

Gmail 1/2 10:21 → LINE 1/2 10:24
Gmail 1/2 17:19 → LINE 1/2 17:19
Gmail 1/3 10:58 → LINE 1/3 10:59

時間もこのような形で動いてます。
この時間はご自由に変更ください。

GASのコード

var lineToken = "AAAAAAAAAA"; //ここにはご自身のLINE Notifyのトークンを入れてください

function send_line(Me) {
    var payload = { 'message': Me };
    var options = {
        "method": "post",
        "payload": payload,
        "headers": { "Authorization": "Bearer " + lineToken }
    };
    UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

function fetchContactMail() {

    var ISREAD_LABEL = GmailApp.getUserLabelByName('セコム安否確認');
    var strTerms = 'label:セコム安否確認 is:unread';

    var myThreads = GmailApp.search(strTerms);
    var myMsgs = GmailApp.getMessagesForThreads(myThreads);

    var valMsgs = [];
    for (var i = 0; i < myMsgs.length; i++) {
        var subject = myMsgs[i].slice(-1)[0].getSubject() || "(No subject)";
        var body = myMsgs[i].slice(-1)[0].getPlainBody().slice(0, 600) || "(No body)";
        var from = myMsgs[i].slice(-1)[0].getFrom() || "(No from)";

        valMsgs[i] = "\n■" + subject + "\n" + body + "\n" + from;
    }

    myThreads.forEach(function (t) {
        t.addLabel(ISREAD_LABEL);
        t.markRead();  // 追加:既読にする
    });

    return valMsgs;
}

function main() {
    var new_Me = fetchContactMail();
    if (new_Me.length > 0) {
        for (var i = new_Me.length - 1; i >= 0; i--) {
            send_line(new_Me[i]);
        }
    }
}

最後に

今回の地震で複数回発信がありましたが、社内では
どこまでが返信済で、どこまでが未返信かわからなくなった、という方がいました。
Gmailを既読にしてしまうのが難点かもしれませんが、
トークルームをこれ専用にしてLINEから直接返信可能なので、LINEの通知で対応するようにすれば、返信忘れ防止に役に立つかもしれませんね。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0