GASでメール送信する方法まとめ【宛先複数・CC/BCC・添付ファイル】

GASでメール送信する方法まとめ【宛先複数・CC/BCC・添付ファイル】
mono
mono
こんにちは、monoです。

GASを使えばGmailでのメール送信を自動化・効率化することが可能です。

この記事では「GASでメール送信する方法」を、サンプルコード付きでわかりやすく解説します。

複数宛先に送信する方法や、CC/BCCで送信する方法、添付ファイルを送る方法についても解説するので、この記事を読めばGASを使ったメール送信の基本をマスター可能です。

GASの、メール送信機能を使いこなしたい人はぜひ参考にしてください。

目次

GASでメールを送信する方法

GASでメールを送信するには、GmailAppクラスsendEmail関数を使います。

sendEmail関数は以下4つの値を渡すことで、簡単にGmail経由でメール送信が可能な関数です。

  • 送信先
  • 件名
  • 本文
  • オプション

渡し値の順番や、オプションで設定する変数含め、詳しく解説します。

GmailApp.sendEmailの使い方


GmailApp.sendEmail(送信先アドレス, 件名, 本文, オプション);

いきなり結論ですが、GASのスクリプトに上記のコードを記述することでメールを送信できます。

4つの変数を関数に渡すだけでメールが送信できるなんて…、GASの強みは実装の容易さというのがよくわかる例ですね。

変数は「,(カンマ)区切り」で渡しましょう。

GmailApp.sendEmailのパラメーター

GmailApp.sendEmailメソッドを使うときは、以下4つのパラメータを渡してください。

オプションに関しては任意ですが、その他のパラメーターは必ず入れるようにしましょう。

件名や本文のないメールを送る人なんていないでしょうし、宛先がないと誰にも送れません。

送信先 送信先アドレス(文字列)
件名 メール件名(文字列)
本文 メール本文(文字列)
オプション その他の項目(連想配列)

GmailApp.sendEmailのオプション


GmailApp.sendEmail(送信先アドレス, 件名, 本文, {
   "attachments" : 添付ファイル,
   "cc" : ccアドレス,
   "bcc" : bccアドレス,
   "replyTo" : 返信先アドレス,
   "noReply" : 返信不可フラグ,
   "name" : 送信者の名前
});

GmailApp.sendEmailでは、以下6種類のオプションを指定できます。

添付ファイルやCC/BCC、返信に関する設定、送信者の名前などを設定したい人はオプションを活用しましょう。

具体的なサンプルコードは後ほど紹介します。

attachments 添付ファイル
cc ccアドレス
bcc bccアドレス
replyTo 返信先アドレス
noReply 返信不可を判別するbool値を指定
name 送信者の名前

GmailApp.sendEmailのサンプルコード


function gas_sendmail(){
   //パラメータの定義
   var To = "sample@monoblog.jp";
   var Subject = "テスト件名";
   var Body = "テスト本文";

   //オプションの定義
   var Options = {
      "attachments" : 添付ファイル,
      "cc" : ccアドレス,
      "bcc" : bccアドレス,
      "replyTo" : 返信先アドレス,
      "noReply" : 返信不可フラグ,
      "name" : 送信者の名前
   };

   //送信実行
   GmailApp.sendEmail(To, Subject, Body, Options);
}

まとめると、GASでメール送信するためのサンプルコードは上記のようになります。

上記はそのままコピペできるので、自分なりにアレンジして活用してください。

GASでCC/BCCにメール送信する方法


function gas_sendmail(){
   //パラメータの定義
   var To = "sample@monoblog.jp";
   var Subject = "テスト件名";
   var Body = "テスト本文";

   //オプションの定義
   var Options = {
      "cc" : "cc_sample@monoblog.jp",
      "bcc" : "bcc_sample@monoblog.jp"
   };

   //送信実行
   GmailApp.sendEmail(To, Subject, Body, Options);
}

GASでCC/BCCにメール送信するには、オプションパラメータを使います。

オプションは連想配列なので、{}で囲い、アドレスは文字列で渡すようにしましょう。

GASで複数宛先にメール送信する方法


function gas_sendmail(){
   //パラメータの定義
   var To = "sample01@monoblog.jp,sample02@monoblog.jp,sample03@monoblog.jp";
   var Subject = "テスト件名";
   var Body = "テスト本文";

   //オプションの定義
   var Options = {
      "attachments" : 添付ファイル,
      "cc" : "cc_sample01@monoblog.jp,cc_sample02@monoblog.jp,cc_sample03@monoblog.jp",
      "bcc" : "bcc_sample01@monoblog.jp,bcc_sample02@monoblog.jp,bcc_sample03@monoblog.jp",
      "replyTo" : 返信先アドレス,
      "noReply" : 返信不可フラグ,
      "name" : 送信者の名前
   };

   //送信実行
   GmailApp.sendEmail(To, Subject, Body, Options);
}

GASで複数宛先にメール送信するには、上記のように「,(カンマ)区切り」で複数のアドレスを指定してください。データ型は文字列です。

CC/BCCもToと同様に、文字列でカンマ区切りの複数アドレスを指定すれば、複数宛先に送信できます。

GASで添付ファイルを付けてメール送信する方法


function gas_sendmail(){
   //パラメータの定義
   var To = "sample@monoblog.jp";
   var Subject = "テスト件名";
   var Body = "テスト本文";

   //添付ファイルの定義
   var attachments = DriveApp.getFileById(ファイルID).getBlob();

   //オプションの定義
   var Options = {
      "attachments" : 添付ファイル
   };

   //送信実行
   GmailApp.sendEmail(To, Subject, Body, Options);
}

GASで添付ファイルを送信するには、DriveAppクラスのgetFileByIdメソッドで取得したFileオブジェクトに対してgetBlobメソッドを使います。

そのためにはアクセス権限のあるGoogle Driveに添付ファイルしたいファイルが格納されている必要があるので、手動で置いておくか格納・もしくはスクリプト上でFileオブジェクトを保持する用意をしておきましょう。

GASで添付ファイル付きメールを送信する方法

  1. GoogleDriveに添付ファイルを格納
  2. getBlobで添付ファイルのオブジェクトを生成
  3. オプションのattachmentsに添付ファイルを格納
  4. メール送信

まとめ

今回は「GASでメールを送信する方法」について解説しました。

GASでメール送信するのは以外に簡単でしたね。送信アドレスや件名、本文を上手く編集できるようにすれば、かなり柔軟にメールの作成・送信を自動化できます。

GASのメール送信機能を上手く使いこなして、業務効率化やツール作成に役立ててください。

では、また。

あわせて読みたい
【GAS入門】Google Apps Scriptでできることを徹底解説!【初心者向け】 「業務効率化のため」「プログラミング入門の勉強として」など理由はさまざまですが、近年Google Apps Script(GAS)を勉強する人が増えてきています。 しかしphpやHTML...

あわせて読みたい
GASの勉強におすすめの入門本ランキング18選!【学習方法も解説】 「GAS(Google Apps Script)を勉強したいけど勉強方法がわからない、体系的にまとまっている学習書や良書を知りたい」と困っていませんか? 「プログラミングは体系的...

この記事を書いた人

28歳♂Webアナリスト/おすすめ本と生活改善グッズ紹介サイトmonoblog.jp他4サイト運営15万PVほど/楽天経済圏/リベ大生/サウナ/筋トレ/お仕事の依頼はこちら

目次