Googleスプレッドシートで、一括送信メールを送る方法

Googleフォーム
スポンサーリンク

Googleスプレッドシートを利用して、一括送信メールを送る方法です。

通常1日に100通までの送信となるので、それ以上は他の一括送信ツール等を利用する方が良いでしょう。

スポンサーリンク

以下のようなスプレッドシートを作成します。

1列目 email  2列目 sei 3列目 mei

Google ドキュメントを利用して、文章を作成します。

差込したい項目は、{}で囲います。今回は、B列のseiを{姓}、C列のmeiを{名}としています。

 

スプレッドシートの「ツール」→「スクリプトエディタ」をクリック。

以下のコードを入力

function myFunction() {

/* スプレッドシートのシートを取得と準備 */
var mySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var rowSheet=mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得


/* ドキュメント「メール本文テスト」を取得する */
var docTest=DocumentApp.openById("★★★★★★★★★★"); //ドキュメントをIDで取得
var strDoc=docTest.getBody().getText(); //ドキュメントの内容を取得


/* シートの全ての行について姓名を差し込みログに表示*/
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 strBody=strDoc.replace(/{姓}/g,strSei).replace(/{名}/g,strMei);



/* メール表題、fromアドレス、差出人名を準備 */
var strSubject = strSei + strMei+"様 ●●●●●●●●"; //姓 名 様 メールタイトル
var strFrom="●●●●●●●●"; //From
var strSender="●●●●●●●●"; //差出人


 
   /* メールを送信 */
    GmailApp.sendEmail(
      strEmail, //toアドレス
      strSubject,  //メールタイトル
      strBody, //本文
      {
        from: strFrom, //fromアドレス
        name: strSender //差出人
      }
    ); 
    
  }
}

●●●となっている部分は任意に書換可能です。メールアドレスはスクリプトを作成しているGmailアカウント以外で送信したい場合は、Gmailアカウントで送信できるようにする必要があります。

★★★★★は、先程2で作成したGoogleドキュメントURLの以下の部分を記載します。

https://docs.google.com/document/d/この部分/edit

他のアカウントで送信できるようにする

Gmailで他のアドレスでメールを送信できるようにする

 

1:設定をクリック

2:アカウントとインポートを選択

3:他のメールアドレスを追加

以下の画面が出るので、送信アドレスにしたいメールアドレスを記入

※自分が管理しているメールアドレスを入力します。

 

入力すると、記入したメールアドレスに パスコード と 承認用URLが記載されたメールが届きます。パスコードを入力してか、承認用URLをクリックすれば準備完了です。

スクリプトの実行ボタンをクリック

 

承認を要求されるので、「許可を確認」をクリック。

 

 

「許可」をクリック。

 

これで、スプレッドシートに記載したメールアドレスの人にメールが届きます。

Google Apps Script の学習本

コメント

タイトルとURLをコピーしました