GASを使ってメールの一斉送信を行ってみた


はじめに

GASとは

Google App Script(GAS)とは、Googleが開発・提供しているプログラミング言語です。
JavaScriptというWebブラウザ上で動作するプログラミング言語をベースに作成されています。

GASでできること

①メールの自動送信・返信
Googleフォームなどで申し込みがあった際に折り返しのメールを自動で送信することや、一斉送信などを可能にさせます。
②スプレッドシートでオリジナルの関数を作成する
今回お話するのはこの部分なのですが、スプレッドシートから抽出したデータからオリジナルの関数を作成することができます。

GASを使ったメールの一斉送信

概要

①スプレッドシートを用意

②Googleドキュメントに送信したいメールの内容を記載

③スプレッドシートからスクリプトを用意

④メールを送信する関数を作成

→スクリプトの記載

①スプレッドシートの用意

まず、データになるスプレッドシートを用意する

このようにメールアドレスと名前を記載しておきます。

②Googleドキュメントに送信したいメールの内容を記載


内容は好きに書いていただいて構いません。
※しかし、スプレッドシートに記載しているデータを使いたい場合は{}で囲って対応できるようにしておきます。
例:{お名前}様
→これは、一斉送信ではあるものの各個人にメールをしっかり送っているように見せるためです。

③スプレッドシートからスクリプトを用意

では、次はスプレッドシートからスクリプトの用意をしていきましょう!

スプレッドシートのツールをクリックして、スクリプトエディタを開きます。

  function myFunction() {

}

この、myFunctionという関数をいじってメール送信スクリプトを書いていきたいと思います。

④メールを送信する関数を作成

function sendEmail() {
var SheetName=SpreadsheetApp.getActiveSheet();//アクティブなシートを取得する
var SheetRow=SheetName.getDataRange().getLastRow();//シート上のデータが存在する範囲を自動で判別して取得し、データが存在する最後の行番号を取得する
var docMail=DocumentApp.openById('');//DocumentのIDを指定する
var strDoc=docMail.getBody().getText();//ドキュメントのBody(内容)を取得する
var strSubj='【お知らせ】◯月◯日イベント実施について'; //タイトル
var strFrom='〇〇@gmail.com'; //Fromのアドレス
var strSend='井手翔陽'; //差出人の名前
for(var i=2;i<=SheetRow;i++){
var strToAd=SheetName.getRange(i,2).getValue();//メールアドレスを変数strToAdに格納
var strName=SheetName.getRange(i,3).getValue();//お名前を変数strNameに格納
var strBody=strDoc.replace(/{お名前}/,strName);//メールの宛名{お名前}を、を変数strNameに置き換える
GmailApp.sendEmail(
strToAd,
strSubj,
strBody,
{
from: strFrom,
name: strSend
}
);//宛先、題名、内容とオプションで送信元、送信アドレスを指定してGmailからメールを送付
}//スプレッドシートの最終行になるまで、繰り返す
}

上記のコードをコピー&ペーストでスクリプトに貼って実行を押すと関数が走り、スプレッドシートに記載されている宛名に一斉送信されるようになっています。

感想

GASを使ったメールの一斉送信を備忘録として書かせていただきましたが、やっぱり便利だなと感じます。
更にGASはいろんなツールと連携できるのでたくさん遊べそうですね!!
みなさんもぜひGASを使って普段行っている作業を少しでも楽にしてみてください!

参考文献

Google Apps Scriptを使ってGmailでメルマガみたいに一斉送信する方法

https://www.acrovision.jp/service/gas/?p=255