先日作成依頼が来ましたスクリプトです。
まず、Google無料アカウントから送信の場合、
一日メール送信数は50件。
有料プランの場合1500件。
日付が変わるとリセットされるので、
一日上限数であれば送信可能。
今回は
A列 メールアドレス
B列 姓
C列 名
D列 問い合わせNo
を入力したスプレッドシートの上から最終行まで
D列のメールアドレスにGmailから送信。
ひな形はGoogleドキュメントにて作成しておく。
Googleドキュメント例
-------------------------------------------------
{姓}{名}様
お世話になっております。ご注文いただきました商品の
お問い合わせ番号をご連絡いたします。
問合せNOは
{番号}
です。
よろしくお願いいたします。
**********************************
○○○Shop
担当 ○○
住所 電話番号などなど署名
**********************************
-------------------------------------------------
以下コードをスプレッドシートに
-------------------------------------------------
function myFunction() {
/* スプレッドシートのシートを取得と準備 */
var mySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var rowSheet=mySheet.getDataRange().getLastRow(); //シートの使用範囲の最終行を取得
/*任意で作成した Googleドキュメントを取得する */
var docTest=DocumentApp.openById("ここにはGoogleドキュメントのIDを入力する"); //ドキュメントをIDで取得
var strDoc=docTest.getBody().getText(); //ドキュメント内容取得
/* 姓・名・問合せNoをドキュメントの{姓}{名}{番号}部分に表示*/
for(var i=2;i<=rowSheet;i++){
var strEmail=mySheet.getRange(i,1).getValue(); //email
var strSei=mySheet.getRange(i,2).getValue(); //姓
var strMei=mySheet.getRange(i,3).getValue(); //名
var strNo=mySheet.getRange(i,4).getValue();//問合せNo
var strBody=strDoc.replace(/{姓}/g,strSei).replace(/{名}/g,strMei).replace(/{番号}/g,strNo);
/* メール表題、fromアドレス、差出人名を準備 */
var strSubject = strSei + strMei+"様"; //姓 名 様 メールタイトル
var strFrom="送信元のGmailアドレスを入れる"; //From
var strSender="差出人名を入れる 例)○○SHOP"; //差出人
/* メールを送信 */
GmailApp.sendEmail(
strEmail, //toアドレス
strSubject, //メールタイトル
strBody, //本文
{
from: strFrom, //fromアドレス
name: strSender //差出人
}
);
}
Browser.msgBox(rowSheet-1 +"件のメールを送信しますよろしいですか?",Browser.Buttons.OK);
}
-------------------------------------------------
スクリプトを実行すると上から順にメール送信される。
このコードは2行目~10行目まで送るとすると、
もし5行目が空欄の時はエラーが出るので
エラー回避方法のコードを追加するのもよいでしょう。