2013年6月28日金曜日

Apps Scriptで差し込みメイル

多数の相手に文面を少しだけ変えながらメイルを出すためのスクリプト。Google Docs上に文を置き、それの*NAME* というフィールドを置き換えながら送信する。

サーバ上で完結しているので手元にブラウザだけあれば使えるのが便利。
Docs上の文書のIDはURLに含まれているのを抽出しなければならないのが面倒。
Here documentがJavascriptで使えればDocsにおいたりする必要もなくて、もっと便利なのにね。

function myFunction() {
  var docname = "xxxx";
  var doc = DocumentApp.openById(docname);

  var list = [
    {name: "test1", email: "addr"},
    {name: "test2", email: "addr"},
  ];

  var mailBody = doc.getBody().getText();

  for (var i = 0; i < list.length; i++) {
     var name = list[i].name;
     var addr = list[i].email;
     var body = mailBody.replace(/\*NAME\*/g, name);
     Logger.log(addr);
     Logger.log(body);
     MailApp.sendEmail({
       to: addr,  
       subject: "サブジェクト",
       body: body,
     });
  }
}