Gmailの一斉送信をGASで簡単に作る

みなさん、こんにちは!
現役エンジニアの”ます”です。

今回はGoogle Apps ScriptとGmailの連携でGmailでの一斉送信の実装方法について解説していきます。

メルマガや社内広報、社外への一括での送信など、Gmailを活用してメールの一斉配信をしたいときってありませんか?
Google Apps Scripではこのような処理も可能です。
スプレッドシートを使ってメールアドレスのリストからメールを一括配信を行うプログラムを作っていきます。

うまく利用すれば無料でリマインド機能やメールの大量送信の処理をすることができます。
本記事のプログラムがぜひ参考になりましたら幸いです。

スプレッドシートを作成する

まずは一斉送信のメールアドレスのリストを記入するたのスプレッドシートを作成します。

Google Driveを開き、スプレッドシートを作成してください。

また、拡張機能からApps Scriptを選択します。

シート名は後ほど紹介するプログラムで「メールリスト」としておりますのでご注意ください。

スクリプトファイルを用意する

今回はスプレッドシートに紐づいたコンテナバインド型を活用していきます。

Apps Scriptが開いたらプロジェクト名を設定しましょう。

GASの導入方法についてはこちらをご参照ください。

Google Apps Scriptの導入方法

スプレッドシートにメールアドレスのリストを用意する

今回は簡略的にA列にメールアドレスを1行ずつ記入していきます。

スクリプト側でメールアドレスを取得する

まず、メインの実行関数を作り、スプレッドシートを取得していきましょう!

function run() {
  // スプレッドシートを取得
  const SS = SpreadsheetApp.getActiveSpreadsheet();
}

次に、メールアドレスのリストが入力されている「メールリスト」のシートを取得していきます。

function run() {
  // スプレッドシートを取得
  const SS = SpreadsheetApp.getActiveSpreadsheet();
  // 対象のシートを抽出
  const SHEET = SS.getSheetByName("メールリスト");
}

次に、シートの全データ範囲から値を2次元配列で取得し、1行目のヘッダーを削除、1列のみのため、2次元配列を1次元配列へと変換します。

function run() {
  // スプレッドシートを取得
  const SS = SpreadsheetApp.getActiveSpreadsheet();
  // 対象のシートを抽出
  const SHEET = SS.getSheetByName("メールリスト");
  // メールリストを取得
  const MAIL_LIST = SHEET.getDataRange().getValues().slice(1).flat(); // 1行目はヘッダーなのでsliceにて削除、A列が2次元配列で取得されるためflat()にて1次元配列へ変換
}

これでMAIL_LISTにはメールアドレスが1つずつ一次元配列に格納されています。

メールアドレスを取得してGmailを送信する

配列に格納しているメールアドレスを1つずつ抽出してそのアドレスにメールを送ります。

  // メールアドレスを1つずつ取り出す
  MAIL_LIST.forEach(mail => {
    GmailApp.sendEmail(mail, "件名", "メッセージ");
  });

これだけです。非常に簡単です。

コードまとめ

スプレッドシートのA列にメールアドレスが記入されていれば、こんなにも簡単に一斉送信のプログラムを組むことができます。

function run() {
  // スプレッドシートを取得
  const SS = SpreadsheetApp.getActiveSpreadsheet();
  // 対象のシートを抽出
  const SHEET = SS.getSheetByName("メールリスト");
  // メールリストを取得
  const MAIL_LIST = SHEET.getDataRange().getValues().slice(1).flat(); // 1行目はヘッダーなのでsliceにて削除、A列が2次元配列で取得されるためflat()にて1次元配列へ変換
  // メールアドレスを1つずつ取り出す
  MAIL_LIST.forEach(mail => {
    GmailApp.sendEmail(mail, "件名", "メッセージ");
  });
}

実行する際のGoogleからの承認方法については下記をご参照ください。

Google Apps Script初回実行時の承認方法

まとめ

今回はGmailの一括送信、一斉送信を実装するプログラムをご紹介しました。

メールアドレスのシートさえ作ってしまえば簡単なプログラムでGmailのメール送信を自動で実装することができます。

また、メールの送る方法には細かいオプションを設定することもできるため、
エイリアスを活用したfromのメールアドレスの変更や、cc、bccを含んだり、
送信元の名前を変更することも可能です。

本記事で紹介した機能は企業や個人でもよく使えるような内容となっておりますので、
ぜひご活用いただけますと幸いです。

Google Workspaceを活用している場合はGoogle Apps Scriptを覚えると業務の効率化および自動化ができます。
Google Apps Scriptが学べるスクールはコチラで紹介しています。よかったら見てみてください。

Google Apps Scriptを学べるスクール3選

Google Apps Scriptが学べたらコチラの記事で収益化してみてはいかがでしょうか?

Google Apps Scriptのプロが教える!成功するGAS副業完全ガイド

Google Apps Scriptを活用した自動化につきまして、カスタマイズの要望等ございましたらいつでもご対応いたします。
お気軽にお問い合わせください。

お問い合わせ

以上、最後までお読みいただきありがとうございます。
また次の記事でお会いしましょう!

最新情報をチェックしよう!