お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
メールでBCCかCCに設定して一斉送信するのに多大な時間と労力を費やしていませんか?
この記事ではそのお悩みを、コピペOKのGoogle Apps Scriptのコードで解決します。

- 決まった人物にBCCかCCのメールを送信したい
- 送信漏れやメールの設定ミスを減らしたい
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
0円でプログラミングを学べるスクール

タップできる目次
GASでBCCかCCでメールを送信するイメージ

スプレッドシートに登録したメールアドレスにBCCかCCで送信するアプリを作成します。
例えば、あなたは取引先全員に1回ずつ送信したら莫大な時間と労力が必要。
また、上司や先輩にはBCCに設定する場合は送信漏れの不安が残ります。
しかし、GASなら1クリックで送信を自動化しつつ、BCCかCCを設定して対象者全員に送信できます。
メールをBCCかCCで送信する準備
GASでメールをBCCとCCで一斉送信する準備します。ファイルは2つ必要です。
必要なファイル
- Google ドキュメント ・・・ 送信するメール本文の作成
- Google スプレッドシート ・・・ 顧客データの保存 & GASのプログラムの実行
Google ドキュメントの設定
Googleドキュメントでメールの本文を作成します。
文章内の {customer} には、「リスト」シートから取得した名前( 姓+名 )が入ります。
Google ドキュメントの編集は以上です。

Google スプレッドシートの設定
顧客データを登録するスプレッドシートを作成していきます。
Google スプレッドシートはデータを管理するデータベースとして扱います。
「姓」,「名」,「メールアドレス」の計3つを列Aから列C の1行目に見出しを記入します。

個別の顧客情報を記入していきます。
後からテストで送信するので自身が所有するメールアドレスに書き換えます。
今回は例として1人だけ記入していますが、2人以上でも問題ありません。

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

サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「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 ドキュメントにカーソルを合わせて右クリックし、「リンクを取得」をクリックします。

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

B. 操作するスプレッドシートの定義
//B.操作するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
const listLastRow = listSheet.getLastRow();
編集するGoogle スプレッドシートを指定します。
getLastRowメソッドでは、空白ではない最後のセルの行番号を取得します。
最終行を取得するメソッドの詳細はこちら。
-
【5分で解決】GASでスプレッドシートの最終行と最終列を取得
続きを見る
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で送信しますが、option内の「cc」を「bcc」に書き換えるとBCCで送信します。
コードの解説は以上です。
BCCかCCでメールを送信するテスト
実際にGoogle Apps Script からメールを送信します。
Apps Scriptの上バーの文字が「sendMail」なら「実行」をクリック。

「このアプリはGoogleで確認されていません」と表示した場合はこちら。
-
【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法
続きを見る
問題がなければメールが届きます。
Google ドキュメント内の{custom}が氏名に書き換わっていることも確認できます。

初心者でも学びやすい&挫折しないスクール3選

初心者でも学びやすいプログラミングスクールを3つ紹介します。
プログラミング独学の挫折率は60%近くと高め。
エラーを解決できなかったり相談できる人がいなかったりと理由はさまざまです。
モチベを保てる環境を整えたのがスクールで挫折率を1割未満に抑えられます。
そこで、デイコーで調査した82社から厳選して解説します。
- テックアカデミー | 未経験から月5万の副収入を目指す
- インターネット・アカデミー | Excel自動化で残業減
- 侍テラコヤ | 50種類以上の教材を学び放題
テックアカデミー | 未経験から月5万の副収入を目指す

おすすめコース | はじめての副業コース |
受講料(税込) | 87,600円~(8週間プラン+給付金適応後) |
分割払い(24回) | 4,996円 |
受講形式 | オンライン |
強み |
|
テックアカデミーは総合満足度95.3%で未経験者に人気のプログラミングスクール。
テキスト形式の教材で進めながら不明点を現役エンジニアのメンターに質問します。
- 週2回のマンツーマンメンタリング
- 毎日15〜23時までのチャットサポート
- 課題レビューとアドバイス
夜遅くまで対応するので退勤後も気軽に相談できます。
「はじめての副業コース」ではGASの開発ベースになったJavaScriptを使ってWeb制作を学習。
学習後はメンターの支援を受けつつスクールの独自案件で副業の実績を積み上げます。

インターネット・アカデミー | Excel自動化で残業減

おすすめコース | Python×Excel自動化講座 |
受講料(税込) | 118,000円 |
分割払い(36回) | 3,800円~ |
受講形式 |
|
強み |
|
インターネット・アカデミーは初心者から最短距離でスキルを習得するスクール。
初心者が挫折しないサポートが10個が特徴で以下はその一部。
- 動画授業が24時間見放題
- 1年間受講受け放題
- 技術面の質問ができるチャットサービス
- 受講生限定のセミナーや交流会
- 手厚い転職準備サポート&求人紹介
卒業後には未経験からエンジニア転職するキャリアプランも築けます。
Python×Excel自動化講座はエクセル自動化に特化したカリキュラム。
売上伝票の集計や顧客リスト抽出など実践的に学びながらPythonの基礎基本を身に着けます。
いつもの作業を効率化して残業を減らすならおすすめ。

侍テラコヤ | 50種類以上の教材を学び放題

おすすめコース | フリープラン |
受講料(税込) | 0円~ |
受講形式 | オンライン |
強み |
|
侍テラコヤは50教材以上を定額で受け放題のオンラインスクール。
回答率100%の質問掲示板などの初心者でも挫折しない環境が整っているのが特徴です。
フリープランは無料で教材の一部を閲覧可能。
GASを学ぶ場合、「業務自動化コース」で基礎基本から学べます。
まずは0円で教材を利用したい人にはおすすめです。

まとめ | GASでメールの送信は簡単!
以上、Google Apps Script を使ってメールをBCC&CCで自動送信するコードでした。
日常業務で使いやすいように改修したりプログラミングの練習に使ったりしてみましょう。
今回紹介したサンプルコード以外にも、GASでメールの自動化は可能。
あわせて読みたい
-
【残業3割減】GASでメールの一斉送信を自動化
続きを見る
あわせて読みたい
-
【コピペOK】GASでメールの送信で添付ファイルを追加
続きを見る
ヒューマンエラーが起きやすく時間がかかる作業をGASに任せましょう。
不明点やスクール選びで悩んでいるならデイコーのお問い合わせまでご連絡を。
あなたのプログラミングのスキルアップを応援しますよ。