スプレッドシートからメールを一斉送信【GASで簡単に】

スプレッドシート上にあるメールアドレス全員に一斉送信する方法をGoogleAppsScript(GAS)でご紹介します。
今回はスプレッドシートのA列に名前、B列にメールアドレスがあり、送信する内容はGoogleドキュメントの内容をメールで全員に送るというものになります。
これを使えば、Googleドキュメントで作成した文章を実行ボタンだけで一斉にメールを送れるので非常に便利です。
簡単な業務効率化を促すことができます。

① Googleドキュメントで文章を作成する

Googleドキュメント


まず一斉送信するメールの中身をGoogleドキュメントで作成します。
今回は上記の画像のようにしました。

ここのページのGoogleドキュメントのURLは後ほど使用するのでコピーをしといてください。

② スプレッドシートで名前とメールアドレスの用意する

スプレッドシート

A列に名前、B列にメールアドレスを記入します。

次にGoogleAppsScriptを開きます。

GASの開き方


GoogleAppsScriptを開くには、拡張機能をクリックしてAppsScriptをクリックで開くことができます。

➂ スクリプトを記述する。


コード.gsに上記画像のようにスクリプトを記述します。


function sendEmail() {
  // スプレッドシートのシート1を取得
  let sheet = SpreadsheetApp.openById("①のURL").getSheetByName("シート1");
  let data = sheet.getDataRange();
  let dates = data.getValues();
  
  console.log(dates);

  //ドキュメントの情報を取得
  let docurl = "②のURL"; 
  let doctext = DocumentApp.openByUrl(docurl);
  //ドキュメントのタイトルを取得しているか確認
  console.log(doctext.getName());
  //ドキュメントの本文を取得しているか確認
  console.log(doctext.getBody().getText());

  // 件名
    let subject = "お知らせ";
    //本文
    let body = doctext.getBody().getText();

  // 各メールアドレスにメールを送信
  for (let i = 0; i < dates.length; i++) {
    // 宛先メールアドレス
    let recipient = dates[i][1];
    // メールを送信
    MailApp.sendEmail(recipient, subject, body);
  }
}


①のURLというところに、スプレッドシートのURLのid部分を記入します。
スプレッドシートのURLの下記の場所がidの部分です。
https://docs.google.com/spreadsheets/d/ここの場所がid部分/edit#gid=0

②のURLというところに、GoogleドキュメントのURLを記入します。
どちらもURLはご自身の各上部に表示されています。

※今回はメールアドレスとドキュメントがきちんと取得できているか確認していますが送信先が多い場合など、特に必要ない場合は下記のコードは削除していただいて大丈夫です。

シート1にある情報をきちんと取得しているかの確認コード
console.log(sdate);

//ドキュメントのタイトルを取得しているか確認
console.log(doctext.getName());
//ドキュメントの本文を取得しているか確認
console.log(doctext.getBody().getText());

また console.logを使っていますがLogger.logを使う方がいいです。

④ 一斉送信の実行方法


スクリプトを記入したら、➂のところを押して保存します。
次に④で実行ボタンを押すとB列にあるメールアドレス全員にGoogleドキュメントの内容が送信されます。

上記のようにB列にあるメールアドレスにGoogleドキュメントの中身がメールとして送信されていれば成功です。

⑤ 最後に

GoogleAppsScript(GAS)を使って、Googleドキュメントの内容をメールで一斉送信する方法でした。
この一斉送信を使えば業務効率化になります。またメルマガなど情報のお知らせなどの一斉配信にも活用できます。
もっと改良すれば、A列にある各宛先の名前を記入したり、件名をドキュメントのタイトルに変更することもできます。

ただしGASからの一斉送信にはメールの送信回数制限があるので、その制限に注意です。
無料アカウントの場合は1日100通までですがGoogle Workspace の有料プランでは、1日あたりのメール送信上限が1000通以上になります、正式な送信上限はプランによって異なります。


執筆者
ASX株式会社公式ツイッター二代目を担当しております。
3人の子持ち(そのうち2人は発達障害)のワーママ。
ツイッターのアカウントは、こちら。
ぜひフォローいただけると嬉しいです。