※当サイトの商品・サービスのリンク先にPRを含みます。

Google Apps Script 時短ツール

【簡単】GASで時間を予約してメールを一斉送信する方法

お仕事おつにゃッス🐈

文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!

今回はGoogle Apps Scriptsで、時間を予約してGメールを送信する方法を紹介します。

あらかじめメールを送信する時間を設定することで、送信し忘れが大幅に減少してミスを減らします

あっきょ
この記事は以下で悩んでいる人におすすめ!

  • 任意の時間にメールを自動送信したい
  • メールに費やす時間を減らして、毎日の残業から解放されたい
  • プログラミングでJavaScriptを学んだけど、何を作っていいかわからない

この記事で紹介するソースコードはすべてコピペOKなので、プログラミング初心者でもお気軽にお読みください。

メールを予約して一斉送信する完成イメージ

メールの送信を予約して一斉送信するイメージ

GASでメールを送信する時間を予約して一斉送信します。

タイマーを設定することで、送信忘れや業務効率化につながります。

また、GASを使うと無料でアプリを簡単に開発できるので非常にお得です。

今回はスプシに保存しているメールアドレスのデータを引用してメールを送信します。

メールを予約して一斉送信する準備

Google Apps Script で送信時間を予約して、メールを一括送信する準備をします。以下の2点を用意します。

必要なファイル

  • Google スプレッドシート ・・・ メールアドレスの管理&コードの記述
  • Google ドキュメント ・・・ 送信するメールの本文を作成

Google ドキュメントの設定

Google ドキュメントにメールの本文を記入します。

文章内の {customer} には、「リスト」シートに登録されている顧客データの「姓」と「名」を合わせた名前が入ります。Google ドキュメントの編集は以上です。

GASでメールを送信する本文

Google スプレッドシートの設定

メールアドレスを含めた顧客データを登録しているスプレッドシートを作成していきます。

今回は「姓」、「名」、「メールアドレス」の計3つの顧客データを列A から列C の1行目に見出しを記入していきます。

Google Apps Scriptでメールを一斉送信するのに使うGoogle スプレッドシートの準備

2行目からそれぞれの顧客データを記入します。

ソースコード確認後に送信テストをするので、メールアドレスは自身のメールアドレスに書き換えましょう。

Google Apps Scriptでメールを一斉送信するのに使うGoogle スプレッドシートの準備で顧客データを記入

「シート1」を右クリックして名前を変更します。

顧客データのワークシートなので「リスト」と名付けます。Google スプレッドシート の編集は以上です。

Google Apps Scriptでメールを一斉送信するのに使うGoogle スプレッドシートの準備でシート名を「リスト」に変更

サンプルコードを貼り付ける場所

サンプルコードはGoogle スプレッドシートにコピペ。

上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。

GASをスプレッドシートに記入する際の「Apps Script」の表示

サンプルコード

function sendMail() {
 //A.メールに送信する内容を設定
  const DOC_URL = 'Google ドキュメントのURL';
  const senderName = '送り主の名前'; 
  const subject = 'メールのタイトル';

  //B.使用するスプレッドシートの定義
  const spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); 
  const listSheet = spreadSheet.getSheetByName('リスト');  

  //C.処理するスプレッドシートのセル番号の定義
  const LAST_NAME_COL = 1;    //苗字の列番号
  const FIRST_NAME_COL = 2;   //名前の列番号
  const MAIL_ADDRESS_COL = 3; //メールアドレスの列番号
  const START_ROW = 2;        //for構文で読み込み始める最初の行番号
  const listLastRow = listSheet.getLastRow();

  //D.Google ドキュメントからメール本文を取得
  const openDoc = DocumentApp.openByUrl(DOC_URL);
  let wholeText = openDoc.getBody().getText(); 

  //E.顧客ごとにメールを送信
  for (var a=START_ROW; a<=listLastRow; a++){
      const recipient =  listSheet.getRange(a,MAIL_ADDRESS_COL).getValue(); //メールアドレスを取得
      const options = {name: senderName, from: sendMailFrom}; //「姓」と「名」を取得して、名前を作成
      const customerName = listSheet.getRange(a,LAST_NAME_COL).getValue()+ " " +listSheet.getRange(a,FIRST_NAME_COL).getValue();
      let body = wholeText.replace("{customer}", customerName);

      MailApp.sendEmail(recipient, subject, body, options);
  }   

}

今回の記事は管理者が以前に投稿したサンプルコードから引用し、まったく同じコードにタイマーをセットするだけで予約投稿が完了します。

コード内の解説や詳細は以下の記事をご参考ください。

【残業3割減】GASでメールの一斉送信を自動化

続きを見る

タイマーのセット方法

時間を設定してGメールを一斉送信するタイマーを作成していきます。

解説の項目

  • 予約送信の設定
  • 標準時を日本に修正する方法
  • プログラムの実行が中断したときの対処法

予約送信の設定

GASでメールを一斉に送信する時刻を予約します。

コードを記入するページ「Apps Script」の右側にあるアイコンにカーソルを合わせ、時計アイコンの「トリガー」を選択します。

トリガーの画面が表示されます。右下にある青いボタンの「トリガーを追加」をクリックします。

トリガーを追加する画面を表示します。メニュー内の「イベントのソースを選択」「時間主導型」に変更します。

「時間ベースのトリガーのタイプを選択」の「時間ベースのタイマー」をクリックします。

現れたメニューの「特定の日時」を選択します。

メールを送信したい日時を決めます。この記事では「2022年4月1日の午後1時」に送信するよう設定します。

「日時を入力」の欄に「2022-04-01 13:00」と入力し、右下の青いボタン「保存」をクリックします。

トリガーを追加したら、設定した時間にメールが送信されます。予約送信はこれで完了です。

標準時を日本に修正する方法

予約送信をする場合、時間が9時間ずれる可能性があります。

原因はGASがアメリカが標準時になっているので、日本の標準時に修正する必要があります。

下の記事は、たった3分で時間のズレを直す方法を解説しています。ぜひご参考ください。

【3分で解決】GASで出力した時間がずれたときにタイムゾーンを変更する方法

続きを見る

プログラムの実行が中断したときの対処法

スクリプト実行時に「このアプリはGoogleで確認されていません」と表示されて、プログラムを実行できないことがあります。

この記事は3分でプログラムを実行しないエラーを解除する方法ですので、ぜひご参考ください。

【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法

続きを見る

【便利】GASでメール送信をさらに楽にする方法

この記事では、メールを送信する時間を予約して一斉送信する方法を紹介しました。

当サイトでは、Google Apps Scriptを使ったメール送信をさらに便利で楽にする方法を紹介しています。

BCCやCCにも対応していますので、ぜひご活用ください。

もちろん、無料でコピペOKです!

【残業2割減】GASでBCCかCCでメールを送信

続きを見る

【基本】GASでメールを送信するsendMailメソッドの3つの使い方

続きを見る

おわりに | GASでメールの送信し忘れを防ごう

以上、Google Apps Script を使って一括してメール作成&送信を自動化する方法でした。

そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。

GASでさらに業務効率化したい場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます

プログラミング未経験者にもわかりやすく解説しています。

プログラミングスクールは82社を分析して厳選してるッスよ!
あっきょ

次回の記事もご期待ください!

-Google Apps Script, 時短ツール
-, , , , , , , , , , , , , , , , , , , , , ,