Google Apps Scripts × Slack × Gmail メッセージの自動送信
Google Apps Scripts × Slack × Gmail メッセージの自動送信:
リソース→ライブラリ
ライブラリを追加:MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48
バージョンは、9を選択して、保存。
以上です。来週(2/5)もデジハリ4Fで会いましょう!
moment.jsが便利なので、入れます。
リソース→ライブラリライブラリを追加:MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48
バージョンは、9を選択して、保存。
今日やる内容(自分のGASにコピペしてください。)
mail.js
var DEBUG_FLG = 0; // 0のときメール送信 function sendEmail(){ var tomail = ""; var mailTitle = ""; var mailMsg = ""; var opt = new Object(); opt.cc = ""; opt.bcc = ""; // opt.from = "g181tg2061@dhw.ac.jp"; opt.name = "【メルマガ】"; // 差出人 // スプレットシートからデータを引き出す // 1. 今開いている(紐付いている)スプレッドシートを定義 var magaginSheet = SpreadsheetApp.getActiveSpreadsheet(); // 2. mail_listの名前が書かれているシートを呼び出す var maillistSheet = magaginSheet.getSheetByName("mail_list"); // 3. 最終列の列番号を取得 var numColumn = maillistSheet.getLastColumn(); // 4. 最終行の行番号を取得 var numRow = maillistSheet.getLastRow()-2; Logger.log(numRow); // コントロール(macはコマンド) + R して、上のバーの表示→ログが見れる。 // 5. 範囲を指定(上、左、右、下) var dataRange = maillistSheet.getRange(3, 1, numRow, numColumn); // 6. 値を取得 var data = dataRange.getValues(); for(i in data){ var rowData = data[i]; var organization = data[i][0]; // 法人名 var mainAddress = data[i][1]; // 事務所(主) var subAddress = data[i][2]; // 事務所(従) var ceoName = rowData[3]; // 代表者氏名 var contactDay = Moment.moment(rowData[4]).format('YYYY/MM/DD'); // コンタクト日 var sendMailDay = Moment.moment(rowData[5]).format('YYYY/MM/DD'); // 次回メール送信日 var field = rowData[6]; // 活動分野、メモ var callMeMaybe = rowData[7]; // 電話番号 var emailAddress = rowData[8]; // メールアドレス var partnerName = rowData[9]; // 担当者氏名 var contactForm = rowData[10]; // 連絡フォーム var sentTimes = rowData[11]; // 送信回数 var sentProval = rowData[12]; // 自動送信許可 var sentTime = Moment.moment().format('YYYY/MM/DD'); // 送信時間 var trackingID = rowData[14]; // トラッキングID var format = "いつもありがとうございます!<br>今後とも何卒よろしくお願いいたします。"; mailTitle = "【新年のご挨拶】こんばんは"; // メールの件名 mailMsg = "<b>今年はプログラミングをはじめました。</b>"; // メールの本文 opt.htmlBody = mailMsg; // optに本文を格納 if(0 == DEBUG_FLG && "許可" == sentProval && sendMailDay == sentTime){ // メールを送信 // 参考URL: https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object) MailApp.sendEmail("nj.takayuki@gmail.com", mailTitle, "", opt); // (宛先, 件名, 本文, オプション) // slackにメッセージ送信 var slack_url = "https://hooks.slack.com/services/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"; //var slack_url = "https://hooks.slack.com/services/**********************************************"; // ******の部分に自分のKEYを入力 var slack_opt = { "method" : "POST", "headers": {"Content-type": "application/json"}, "payload" : '{"text":"' + "自動メールを"+partnerName+"送りました。" + '"}' }; UrlFetchApp.fetch(slack_url, slack_opt); // 送信回数と送信時間の更新 rowData[11] = sentTimes + 1; rowData[13] = sentTime; } else { Logger.log(emailAddress); Logger.log(mailTitle); Logger.log(opt); } } // スプレッドシートのデータを更新(送信回数と送信時間) dataRange.setValues(data); }
スプレッドシートの中身
トリガー設定
イベントのソースを選択:時間主導型
時間ベースのトリガーのタイプを選択:日付ベースのタイマー
時刻を選択:好きな時間を選択
以上です。来週(2/5)もデジハリ4Fで会いましょう!
コメント
コメントを投稿