0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GASでアラートメール収集

Last updated at Posted at 2019-05-26

やること

以下の形式のアラートメールをスプレッドシートに収集していく
IMG_6635.PNG

準備

1.新規スプレッドシート作成
[ツール]-[スクリプトエディタ]を選択
スクリーンショット 2019-05-26 15.41.43.png

2.スクリプトエディタから以下の内容を記載する。
スクリーンショット 2019-05-26 15.42.28.png

function myFunction() {
  /* Gmailから特定条件のスレッドを検索しメールを取り出す */
  var strTerms = 'アラートメール:';
  var myThreads = GmailApp.search(strTerms, 0, 30); //条件にマッチしたスレッドを取得
  var myMsgs = GmailApp.getMessagesForThreads(myThreads); //スレッドからメールを取得する →二次元配列で格納
 
  var valMsgs = [];
 
  /* 各メールから日時、送信元、件名、内容を取り出す*/
  for(var i = 0;i < myMsgs.length;i++){
        var body = myMsgs[i][0].getPlainBody();
    var body_ary = body.split("\n");
        valMsgs[i] = [];
        valMsgs[i][0] = myMsgs[i][0].getDate();
        valMsgs[i][1] = myMsgs[i][0].getSubject();
        valMsgs[i][2] = body_ary[0].replace('発生日時:','');
        valMsgs[i][3] = body_ary[2].replace('エラーコード:','');
    } 
 
   /* スプレッドシートに出力 */
   if(myMsgs.length>0){
        var mySheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //シートを取得
        mySheet.getRange(1, 1, i, 4).setValues(valMsgs); //シートに取得したメッセージのデータを追加
    }
}

3.スクリプト実行
※初回はアカウント権限の確認が行われる。

スクリーンショット 2019-05-26 16.19.47.png

取得結果

スクリーンショット 2019-05-26 15.48.09.png

参考サイト

【GAS】Gmailの特定条件で検索したスレッドの全メールを取得してスプレッドシートに書き出す

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?