Gmailで未読メール増えてませんか??

未読メールを既読するためだけにPC起動するのは面倒くさいですよね…(PCなら一括でメールを既読にできるので)

ですが、今回紹介するやり方であれば自動的に既読になります!

今回とは別の方法もある

以前スマホ版アプリだと一括でメールを既読にできないため簡易的に既読にする方法を紹介しました。

今回のやり方が嫌だな〜と思ったらこちらも試してみてください👌

GmailのAPIを使用する

さっそくではありますが、やり方を記載していきます。

やり方としてはGASでGmailAPIを実行する方法です。(しかも超簡単)

ではまず、以下のGmailのAPI一覧をみてみましょう

https://developers.google.com/apps-script/reference/gmail/gmail-app

この中から使えそうなものをピックアップします。

んで、今回使えそうなものは以下の3つです

・未読メールの件数を取得する「getInboxUnreadCount()

・メールの範囲を指定する「getInboxThreads(start, max) 」

・メールを既読する「markThreadsRead(threads)

もしかしたら他のやつが使えるかもしれませんが、説明文を翻訳すると意味不明だったり、そのままコード実行してみるとエラーになったりしたので諦めました。笑

コード

上の3つが使えるとわかったので実装しました。

たったこれっぽっちでできてしまいました。

だだ注意が必要なのは一回に実行できる最大値は100件であることです。未読が100件超えていると残ってしまいます。

function threadsRead() {
  // 未読メールの件数を取得
  var count = GmailApp.getInboxUnreadCount();
  // 受信トレイの範囲を指定
  var threads = GmailApp.getInboxThreads(0, count);
  // 取得したトレイを既読にする
  GmailApp.markThreadsRead(threads);
}

受信ボックスの先頭から未読になっている件数分のメールを既読にしてます。

実行ボタンを作成

なんとなくコードだけだと寂しかったので実行ボタンつくりました。正直なくても良いです。スマホ版だと押せないので…

挿入→図形描画を押下

私は太陽さんにしてみます。(図はなんでもいいです)

図の中にテキストボックスで「execut」と書きました。

保存して終了を押下し、図がシートにでてきたら

図の中にある縦のテンテンテン(・・・)を押します。

スクリプトの割り当てができるので今回書いたメソッド名を指定します。

これで実行ボタンは完了です。

トリガーを設定する

続いてトリガーを設定します。実行ボタンよりこっちが重要です。

ツール→スクリプトエディタ→左メニューのトリガー→トリガーを追加ボタン押下でトリガーが設定できます。

今回私は毎朝7時〜8時に実行されるようにしました。

まとめ

これで未読メールがなくなってスッキリしました!

そもそも余計なメールなどはメール配信を停止するなどをしたほうが良いですが…

また、1万件ほど未読メールをGASで一括既読にすることはできませんでした。コードは書けますがGAS的に実行時間がかなりかかってしまうのでタイムアウトになってしまいます。(他にやり方があるかもしれないがあまりみてない。)

そして今回のやり方は0から最大100件分既読にするやり方です。

未読が100件以上ある方は最初にPCですべて既読にしておく必要があります。