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

お仕事おつにゃッス🐈

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

メールでBCCかCCに設定して一斉送信するのに多大な時間と労力を費やしていませんか?

しかし、GASを使えば1クリックでメールを一斉送信が可能。

また、送信者をリスト化するのでミスを減らすこともできます。

この記事ではコピペOKのGoogle Apps Scriptのコードで解決します。

この記事はこんな人におすすめ!

  • 決まった人物にBCCかCCのメールを送信したい
  • 送信漏れやメールの設定ミスを減らしたい
  • プログラミングでJavaScriptを学んだけど、何を作っていいかわからない

誰でも無料で簡単にできますのでお気軽に学んでいきましょう!

目次

GASでBCCかCCでメールを送信するイメージ

GASでBCCかCCでメールを一斉送信するイメージ

スプレッドシートに登録したメールアドレスにBCCかCCで送信するアプリを作成します。

例えば、あなたは取引先全員に1回ずつ送信するなら莫大な時間と労力が必要になります。

さらに上司や先輩にBCCに設定して送る場合は送信漏れの不安が残るでしょう。

GASなら1クリックで送信を自動化しつつ、BCCかCCを設定して対象者全員に送信できます。

送信先のリスト化もできるので送信漏れも防げますよ

あっきょ

特別な技術なしで非エンジニアでも自動化できるッス!

メールをBCCかCCで送信する準備

GASでメールをBCCとCCで一斉送信する準備。

ファイルは2つ必要です。

必要なファイル

  • Google ドキュメント…送信するメール本文の作成
  • Google スプレッドシート…顧客データの保存&GASのプログラムの実行

Google ドキュメントの設定

Googleドキュメントでメールの本文を作成します。

文章内の {customer} には、「リスト」シートから取得した名前( 姓+名 )が入ります。

Google ドキュメントの編集は以上です。

GASでBCCかCCの設定をしてメールを送信するGoogle ドキュメントの設定

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

顧客データを登録するスプレッドシートを作成。

Google スプレッドシートはデータを管理するデータベースとして扱います。

  • メールアドレス

の計3つを列Aから列C の1行目に見出しを記入します。

GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定

個別の顧客情報を記入していきます。

後からテストで送信するので自身が所有するメールアドレスに書き換えます。

今回は例として1人だけ記入していますが、2人以上でも問題ありません。

GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートの設定でメールアドレスを登録

シートの名前を変更します。

右クリックして「リスト」と名前をつけます。Google スプレッドシート の編集は以上です。

GASでBCCかCCの設定をしてメールを送信するGoogle スプレッドシートのシートの名前を変更

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

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

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

Apps Script表示

メールをBCCかCCで送信するサンプルコード

BCCとCCに設定したGメールの一括送信するサンプルコードの公開と説明をしていきます。

解説の項目

  • サンプルコード
  • A. メールに送信する内容を設定
  • B. 操作するスプレッドシートの定義
  • C. BCCまたはCCで送るメールアドレスの取得
  • D. Google ドキュメントからメール本文を取得して送信

サンプルコード

右上にあるマークを押すとコードのコピペを一瞬でできます。

また、コード内で文頭にアルファベットが付いているコメントごとに詳細を説明していきます。

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

  //B.操作するスプレッドシートの定義
  const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  const listSheet = spreadSheet.getSheetByName('リスト');  
  const listLastRow = listSheet.getLastRow();
  
  //C.BCCまたはCCに送るメールアドレスの取得
  let ccAddress = ""; //BCCまたはCCで送るメールアドレスの列
  for(var i=2; i<=listLastRow; i++){
    const mailAddress = listSheet.getRange(i,9).getValue();
    ccAdress += mailAddress + ",";
  }

  //D.Google ドキュメントからメール本文を取得して送信
  const openDoc = DocumentApp.openByUrl(DOC_URL); //Google ドキュメントのURLを取得
  let wholeText = openDoc.getBody().getText(); //取得したドキュメントの本文を読み込み
  const recipient =  listSheet.getRange(2,4).getValue(); //toのメールアドレス
  const customerName =  listSheet.getRange(2,2).getValue()
                       + 
                        " " 
                       +
                        listSheet.getRange(2,3).getValue(); //送信先の氏名
  const options = {
                    name: senderName,
                    cc  : ccAddress 
                  };
  let body = wholeText.replace("{customer}", customerName); //テキスト内の{customer}を上書き
  MailApp.sendEmail(recipient, subject, body, options); //メールをCCで送信

}

A. メールに送信する内容を設定

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

3つの定数を定義し、「’ ‘」の中をそれぞれ書き換えます。

定数DOC_URLのGoogleドキュメントのURLの取得方法を以下で解説します。

Google ドキュメントのURLの取得の方法

ドライブ内でメールの本文を書いた Google ドキュメントを保存した場所に移動します。

Google ドキュメントにカーソルを合わせて右クリックし、「リンクを取得」を選択します。

GoogleドキュメントのID取得

「リンクをコピー」をクリックしてコピー後、URLを定数DOC_URLに上書きします。

GoogleドキュメントのURL表示

B. 操作するスプレッドシートの定義

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

編集するGoogle スプレッドシートを指定します。

getLastRowメソッドでは、空白ではない最後のセルの行番号を取得します。

最終行を取得するメソッドの詳細はこちら

C. BCCまたはCCで送るメールアドレスの取得

  //C.BCCまたはCCで送るメールアドレスの取得
  let ccAddress = ""; //BCCまたはCCで送るメールアドレスの列
  for(var i=2; i<=listLastRow; i++){
    const mailAddress = listSheet.getRange(i,9).getValue(); //セルからメールアドレスを取得
    ccAdress += mailAddress + ",";
  }

メールアドレスをコンマで区切った1つの文字列を作成して変数ccAddressに代入。

出力する文字列は「b@mail.com, c@mail.com, d@mail.com」のようになります。

D. Google ドキュメントからメール本文を取得して送信

  //D.Google ドキュメントからメール本文を取得して送信
  const openDoc = DocumentApp.openByUrl(DOC_URL); //Google ドキュメントのURLを取得
  let wholeText = openDoc.getBody().getText(); //取得したドキュメントの本文を読み込み
  const recipient =  listSheet.getRange(2,4).getValue(); //toのメールアドレス
  const customerName =  listSheet.getRange(2,2).getValue()
                       + 
                        " " 
                       +
                        listSheet.getRange(2,3).getValue(); //送信先の氏名
  const options = {
                    name: senderName,
                    cc  : ccAddress 
                  };
  let body = wholeText.replace("{customer}", customerName); //テキスト内の{customer}を上書き
  MailApp.sendEmail(recipient, subject, body, options); //メールをCCで送信

スプレッドシートとドキュメントからメールを作成してCCで送信します。

定数optionsでは、CCに設定したの送信先のメールアドレスを指定します。

この例では定数ccAddressをCCで送信しますが、options内の「cc」を「bcc」に書き換えるとBCCで送信します。

コードの解説は以上です。

BCCかCCでメールを送信するテスト

実際にGoogle Apps Script からメールを送信します。

Apps Scriptの上バーの文字が「sendMail」なら「実行」をクリック。

GASでBCCかCCでメールを送信する関数の実行

「このアプリはGoogleで確認されていません」と表示した場合はこちら

問題がなければメールが届きます。

Google ドキュメント内の{custom}が氏名に書き換わっていることも確認できます。

GASでBCCかCCでメールを送信した結果

まとめ | プログラミング未経験でもGASでスキルアップ!

以上、Google Apps Script を使ってメールをBCC&CCで自動送信するコードでした。

日常業務で使いやすいように改修したりプログラミングの練習に使ったりしてみましょう。

GASを効率的に学ぶなら以下の2つの方法が多いです。

  • 参考書やオンライン教材で独学
  • プログラミングスクールを利用

正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます

デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。

初心者にもわかりやすく解説しています。

あっきょ

プログラミングスクールは82社を分析したッス!

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

それでは、よいプログラミングライフを!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系未経験のWebエンジニア。事務職がプログラミング学習して社内SE部門立ち上げ&Webサイト作成。業務効率化で残業80%減を達成。得意な言語 : GAS, JavaScript, Python

目次