こんにちは、kazuです。
本日はGoogle Apps Script(GAS)でGMailで特定のメールアドレスから届いた
メールを実行することに自動的に削除してくれる機能を作ってみましたので、
こちらを紹介していきます。
なぜこの機能を作ったか?
なぜこの機能のプログラムを作ったかの理由を話していきます。
簡単です。最近はアプリなど含めてサービスにログイン機能がついていると思います。
その時にメールアドレスを登録する時にGMailを使いませんか?
捨てアカ、本アカいろいろな使い方があると思いますが、
Googleのアカウントメールは結構便利ですよね
私自身もGoogleのアカウントで登録したりします。
その時登録サービスからどうでもいいメールとか届きますよね。
そのメールを削除する時タップ(クリック)して削除めんどくさくないですか?
少なくとも私はめんどくさいです。
で、放置するとメールがめちゃくちゃたまるし…
それが嫌で今回このプログラムを作りました。
どのようなプログラムか?
まぁ大体説明してわかっている人もいると思いますが、
再度どのようなプログラムか説明させていただきます。
今回使用したプログラム言語は Google Apps Script(以下GAS) です。
GASとはGoogleが開発・提供しているプログラミング言語です。
JavaScriptがベース言語になります。
メールサービスはGMailになります。
今回は2つのプログラムを紹介します。
1つ目は、
まず特定の削除したいメールアドレスを決めて、
全期間のメールを削除するというプログラムです。
2つ目は。
特定の削除したいメールアドレスを決めて、
特定の期間を削除するというプログラムです。
実際にコードを確認してみよう!
ではさっそくコードを確認してみましょう!
まずは全期間のメールの削除から書いていきます。
function myFunction() {
// ここで実行している
deleteGmail()
}
// 全期間のメール削除
function deleteGmail() {
// 削除したいメールアドレスを入力する
// 以下のメールアドレスは相手がGmailアカウントでなくても大丈夫です!
deleteAddress = "削除したいメールアドレスを入れてください"
// ここで検索条件を変数にしています
var conditions = 'from:'+deleteAddress+''
// ここで先ほどの変数をsearch関数で検索しています
deleteThreads = GmailApp.search(conditions)
// ちなみにですが、javaScriptではデバッグはconsole.logですがGASではLogger.logになります。
Logger.log("メールは全部で "+deleteThreads.length+" 通です!")
Logger.log("削除を開始します")
// 検索したとき複数で返すのでそれをfor文でループで回しています。
for (var i = 0; i < deleteThreads.length; i++) {
// ここで削除しています
// ちなみにですが、moveToTrash()は削除ですがゴミ箱に移動されます。
deleteThreads[i].moveToTrash();
Logger.log(i+1 +" 通目削除しました : "+deleteThreads[i])
}
Logger.log(deleteThreads.length+" 通の削除を完了しました!")
}
次に特定の期間を削除するというプログラムです。
function myFunction() {
// ここで実行している
deleteGmail()
}
// 全期間のメール削除
function deleteGmail() {
// 削除したいメールアドレスを入力する
// 以下のメールアドレスは相手がGmailアカウントでなくても大丈夫です!
deleteAddress = "削除したいメールアドレスを入れてください"
// ここで検索条件を変数にしています
// 2021/01/10 ~ 2021/01/20 の間の特定のメールアドレスを検索するための条件
var conditions = 'from:'+deleteAddress+' after:2021/01/10 before:2021/01/20 '
// ここで先ほどの変数をsearch関数で検索しています
deleteThreads = GmailApp.search(conditions)
// ちなみにですが、javaScriptではデバッグはconsole.logですがGASではLogger.logになります。
Logger.log("メールは全部で "+deleteThreads.length+" 通です!")
Logger.log("削除を開始します")
// 検索したとき複数で返すのでそれをfor文でループで回しています。
for (var i = 0; i < deleteThreads.length; i++) {
// ここで削除しています
// ちなみにですが、moveToTrash()は削除ですがゴミ箱に移動されます。
deleteThreads[i].moveToTrash();
Logger.log(i+1 +" 通目削除しました : "+deleteThreads[i])
}
Logger.log(deleteThreads.length+" 通の削除を完了しました!")
}
ちなみに以下を参考してみてください
最後に
いかがでしたでしょうか?
GMailに関わらずGASは他のGoogleのサービスにもプログラムできるようなので、
一度使用してみてはいかがでしょうか。
もしかしたらGASが使えるようになり業務効率が上がるかもしれませんね!
最後までご覧いただきありがとうございました。
こんにちは、kazuです。 本日はgasシリーズ第2弾です 特定アドレスから届いたメールをスターに入れる機能を作ってみた ということを記事にしていきます。 なぜこの機能を作ったか この記事を見ているということはあなたはgmai[…]