0
0

More than 5 years have passed since last update.

gmail でのメルマガのフィルタリングメモ

Posted at
  • 久しぶりに開く gmail アカウントにメルマガがいっぱい溜まっていて、何がなんだかわからなくなっている!!
  • ただ、読みたいメルマガもあるし、いらないメルマガだけはじきたい!!
  • 「メール選択」=>「メールの自動振り分け設定」を毎回やってると、フィルタがいっぱいできてわけわからんくなる!!

てことがありまして、そのときにやったことですメモです。

これが一番いい方法ではないと思いますが、次回やるときに絶対忘れてると思ったので、手順の自分用メモです。

スプレッドシートにメルマガの From 部分を全部リスト化

Screen_Shot_2018-07-06_at_3_01_11.png

GAS でシートからフィルタリング条件の文字列を生成

ここから。

Screen_Shot_2018-07-06_at_3_04_14.png

GAS をこんなふうに書いて。

function onOpen()
{
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu('フィルタ生成'); 
  menu.addItem('フィルタ生成', 'generateFilter'); 
  menu.addToUi();
}

function generateFilter() 
{
  var sheet = SpreadsheetApp.getActiveSheet();

  // A列のデータをぜんぶ取得する
  var rowStartIndex = 1;
  var colStartIndex = 1;
  var colNum = 1;
  var melmagas = sheet.getRange(rowStartIndex, colStartIndex, sheet.getLastRow(), colNum).getValues();

  // filtering するための条件文字列を list へ 
  var MAX_FILETER = 1300 // だいたいこれ以上長い条件文字列を gmail 側がうけつけてくれなかった
  var filters = []
  idx = 0 
  filters[idx] = ""
  for(var key in melmagas)
  {
    str = ( (melmagas.length - 1 == key) || (MAX_FILETER <= filters[idx].length) ) ? melmagas[key][0] : melmagas[key][0] + " OR " ;
    filters[idx] += str

    if( (MAX_FILETER <= filters[idx].length) )
    {
      idx += 1
      filters[idx] = ""
    }
  }


  // シートへ書き込み
  for(var key in filters)
  {
    sheet.getRange( parseInt(key)+1, 3).setValue( filters[key] );  
  }
}

このボタンを押すと、C列にフィルタ文字列ができてる。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f33303430372f33303834323339652d363266622d376638642d653336662d3939343463626463623739622e706e67-3.png

gmail のフィルタ設定へ突っ込む

gmail -> 設定 -> フィルタとブロック中のアドレス と進んで。

上記スプレッドシートで生成されたフィルタ文字列をFromのところへ突っ込んで「続行」。

Screen_Shot_2018-07-06_at_3_07_24.png

次のページで、「一致するスレッドにも~」のところにチェックを入れるのを忘れずに、「フィルタを更新」を押す。

Screen_Shot_2018-07-06_at_3_09_25.png

これでOKなきがする。

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