2013年3月27日水曜日

Google Apps Scriptを使ってみた

さくらのレンタルサーバー上のメーリングリストをちょっと使うことになったが、
このメーリングリスト、mailmanのメーリングリストと違い、登録ユーザーの情報は
メールアドレスのみしかひもづけれない。

管理する側としては、メールアドレス+名前(or何か識別出来る情報)で扱いたい状態だったので、Google Driveのスプレッシュシートと紐付けてみる。
それで、ついでにGoogle Apps Scriptを使い、自動でメーリングリストへの登録が出来るようにしてみた。
コードは以下な感じ。スクリプトマネージャーからentry_mlを実行すれば自動で登録メールを投げてくれる。
さくら側の設定で、スプレッシュシートを編集するGoogleアカウントのアドレスを管理者アドレスに追加する必要がある。


/**
 * メーリングリストへの登録
 */
function entry_ml() {
  var password = "hoge";
  var adminAdress = "hoge@hoge.sakura.ne.jp";
  
  var sheet    = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // チェックするデータの開始行
  var numRows  = 100;  // チェックするデータの数
  
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 2, numRows, 7);
  
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    if (row[0] == "") {
      break;
    }
    var name = row[0];
    var emailAddress = row[1];
    var confirmed = row[6];
    var subject = "";
    if (confirmed != "") {
      var message = "approve " + password + " add " + emailAddress;
      //Browser.msgBox(name + "\n" + emailAddress + "\n" + message);
      MailApp.sendEmail(adminAdress, subject, message);
      sheet.getRange(startRow + parseInt(i), 9).setValue(1);
    }
  }
  
}

#以下アフィリエイト用の広告です

-->