GASでメールを一斉送信する方法

Google Apps Scriptはスプレッドシートやドキュメントだけでなく、Gmailも操作することができます。

そのため、スプレッドシートでメールアドレスをリスト化し、ドキュメントで本文のテンプレートを作成し、Gmailで一斉送信するという超便利機能がGoogle Apps Scriptだけで作成できてしまいます。

通常のGmailの一斉送信との違いは、メールアドレスを一件ずつ指定し、「△△株式会社〇〇様」のような宛先を本文に挿入できることです。

メルマガや営業に利用した場合にメールの開封率アップが期待できますね。

今回はメールの一斉送信の方法を紹介するために、ドキュメントは使わない簡易バージョンの作り方を紹介します。

使用例

スプレッドシートのB列に記入したメールアドレスを宛にメールを一斉送信します。

本文はスプレッドシートA列の名前に合わせて「〇〇さん、お元気ですか?」と変更されます。

※件名は一律で「ごあいさつ」としました。

※捨てメアドサービスであらかじめ送信先メールアドレスを準備しました。

コピペ用コード

const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const mainSheet = spreadSheet.getSheetByName('リスト');
const list = mainSheet.getRange(2, 1, mainSheet.getLastRow() - 1, 2).getValues();

function send() {
  for (i = 0; i < list.length; i++) {
    const name = list[i][0];
    const address = list[i][1];

    const subject = 'ごあいさつ'; //件名
    const body = `${name}さん、お元気ですか?`; //本文

    MailApp.sendEmail(address, subject, body);
  }
}

コードの解説

1~3行目

スプレッドシートの名前とメールアドレスを取得し、Listという名前の変数に2次元配列として格納します。

7~8行目

2次元配列であるListから、名前とメールアドレスをnameとaddressという変数に代入します。
[i]はスプレッドシート上のデータの行数(見出しを除く)を表します。
[0]はスプレッドシート上の1列目、[1]は2列目を表します。
※配列では0が1つ目のデータを表します。

例えば、
list[0][0]は常盤花音を、
list[2][1]はko711@goatmail.ukを表します。

9行目

変数名subjectにメールの件名を代入します。
ここを変更することで、メールの件名を自由に設定することができます。

10行目

変数名bodyにメールの本文を代入します。
ここを変更することで、メールの本文を自由に設定することができます。
また、${name}の部分には7行目で設定した名前が代入されます。

13行目

メールを送る時のお決まりの記述です。
addressには8行目で代入したメールアドレスが、subjectには9行目で設定した件名が、bodyには11行目で設定した本文が使われています。

7~13行目までの処理をfor文で繰り返すことで、メールの一斉送信をすることができます。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール