はじめに
特定のグループのメンバーそれぞれに同じ内容のメールを送りたい。
イベントの告知とか、
年末年始の挨拶とか、
退職時の挨拶とか。
Pythonとかプログラミングのことよくわからないし、
複雑なことをしたくないけど、
アドレスとか名前とか細かい部分は変えながら、
エクセルにまとめてある情報を使ってメールを一斉送信したい。
そんな時の簡単な方法として、
Googleのスプレッドシートでマクロを使ってメールを送信する方法をまとめた。
今回の方法からさらに応用したい人は、
参考ページを見てみてください
必要なもの
Gmailのアカウント
Google Chrome
方法
スプレッドシートの作成
ChromeでGoogleのトップページかGmailのページの右上にある「・・・」メニューから、
「ドライブ」→「新規」→「Google スプレッドシート」を選択する。
シートの名前は適当に「一斉送信」とかで。
必要な情報を入力する
感覚的にはエクセルのシートなので、
名前とかメールアドレスとかいろいろ入れていく。
マクロを作る
スプレッドシート内の「ツール」タブにて、
「スクリプトエディタ」を選択すると以下のような画面が出てくる。
この中の関数を下記のように書き換える
function mailSend() { //1行目を書き換え
var mySheet=SpreadsheetApp.getActiveSheet(); //現在編集中のシートを取得
var rowSheet=mySheet.getDataRange().getLastRow(); //入力したシートの最下列を取得
for(var i=2;i<=rowSheet;i++){ //編集中シートの2行目の情報から取得する
var strCompany=mySheet.getRange(i,1).getValue(); //会社(A列)
var strEmail=mySheet.getRange(i,2).getValue(); //名前(B列)
var strName=mySheet.getRange(i,3).getValue(); //メールアドレス(C列)
var strFrom="hogehoge@hugahuga.co.jp"; //From欄(自分が使ってるメールアドレス)
var strSender="piyopiyo"; //送信者の名前
var strcc="foo@bar.co.jp"; //CCのアドレス
var strSubject="Mail Send"; //メールのタイトル
var strBody=strCompany + "\n" + strName + " 様\n" + "\n" +"\
本文を入れてください" + "\n\n"+ "\
書き方はいろいろなパターンでできます"; //メールの本文
GmailApp.sendEmail( //メールの送信処理
strEmail,
strSubject,
strBody,
{
from: strFrom,
name: strSender,
cc: strcc
}
);
}
}
『\n』は実際に表示されるメール内での改行を意味します。
『\』はスクリプト内だけでの見た目の改行を意味します。
『strBody』内での空白行は入れないでください。
エラーになって保存できなくなります。
必要な部分は適宜変更する。
スクリプトができたら「Ctrl」+「s」で適当な名前で保存する。
メールを送ってみる
スプレッドシートの画面に戻り、「ツール」→「マクロ」→「インポート」を選択し、
上記で作ったスクリプトをインポートする。
インポート成功後は作ったマクロが選べるようになっているため、
実際に実行し、動くかどうか確認する。
初めて実行した場合はGmailアカウント使用の許諾を求められるため、
許可を選択する。
参考ページ
初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
Googleスプレッドシートで、一括送信メールを送る方法]
Google Apps Scriptで指定時刻にメールを送信するシステムを作ってみた