先日作成依頼が来ましたスクリプトです。

 

まず、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行目が空欄の時はエラーが出るので

エラー回避方法のコードを追加するのもよいでしょう。