ヘッダーロゴ

【要注意】GASで複数の宛先へメール送信する際の設定方法

GASでGmailやOutlook等、複数の宛先へメール送信する際に配列格納でハマったのでメモ。

関連記事:GASでアラートメールを作成して期日になったら自動通知

GAS × Mail・複数宛先へ送信する構文

GASでMailを複数宛先へ送信する設定方法は、以下のとおり。

GmailApp.sendEmail(受信者、件名、本文、オプション)

参考:sendEmail

GmailApp.sendEmailのあとに、

  1. 受信者(宛先)
  2. 件名
  3. 本文
  4. オプション

以上の順に設定していく。

関連:スプレッドシートからメール送信!スクリプトで一発解決

GASで複数宛先へメール送信する際のコード

先にGAS × 複数Gmailへ送信するソースを記します。

GAS × Gmailで複数宛先を設定する場合

GASで複数宛先となる、Gmailアドレスを設定するソースは以下のとおりです。


function mailsend (){

 var gsend=[];

    gsend.push('①@gmail.com');
    gsend.push('②@gmail.com');
    gsend.push('③@gmail.com');

 var subject,msg = [];

    subject = '件名:Gmai';
    msg.push('1行目');
    msg.push('\n2行目');
    msg.push('\n3行目');

    GmailApp.sendEmail(gsend,subject,msg);

  }

Gmail以外では、

  • @me.com
  • @yahoo.co.jp

といったiCloudやヤフーメールの宛先にも、上記ソースで送信できました。

GAS × Outlookで複数宛先を設定する場合

GASで複数宛先となる、Outlookアドレスを設定するソースは以下のとおりです。


  function Omailsend (){

   var osend = ("①@outlook.co.jp","②@outlook.co.jp","③@outlook.co.jp");

   var subject,msg = [];

      subject = '件名:Outlook複数送信テスト';
      msg.push('1行目');
      msg.push('\n2行目');
      msg.push('\n3行目');

      GmailApp.sendEmail(osend,subject,msg);

    }

関連記事:GASでHTMLの入力フォームを作成する方法とポイント2つ

GASで複数アドレス送信設定を行うときの注意点

2つのコードの全然違うところ。というかハマったところ。

複数のGmailアドレスへ送信設定するとき

GASでGmailアドレスを複数設定するときは、単純にpushメソッドで配列に要素を追加していけばOK。


var gsend=[];

   gsend.push('①@gmail.com');
   gsend.push('②@gmail.com');
   gsend.push('③@gmail.com');

複数のOutlookアドレスへ送信設定するとき

GASでOutlookアドレスを複数設定するときは、なぜかpushメソッドで配列へ要素追加ができなかった。 以下で無理やり解決。


var osend = ("①@outlook.co.jp","②@outlook.co.jp","③@outlook.co.jp");

Outlook複数送信でNGだった例

できそうでダメだったソースも載せておきます。

Outlook複数送信NGパターン1

1つ目はGmailと同じ設定パターン。全然ダメでハマった。


  var osend=[];

     osend.push('①@outlook.co.jp');
     osend.push('②@outlook.co.jp');
     osend.push('③@outlook.co.jp');

Outlook複数送信NGパターン2

2つ目は変数に入れてみたけどダメだったやつ。


  var a,b,c,osend=[a,b,c];

     a = '①@outlook.co.jp';
     b = '②@outlook.co.jp';
     c = '③@outlook.co.jp';

エラーの原因がわかったらいつか追記します...

まとめ:GAS × GmailApp.sendEmail使って色々送信できる

後で宛先を追加・管理するときに、単純に配列で組めばメンテが楽なので、GmailやOutlook関係なく同じpushメソッドでアドレス追加できる仕様にしてほしい。

oyakun
それかOutlookは使えないので、Gmailで通知する仕様にしますね!という誘導を...w

追記:GAS複数メールの応用編書きました

複数宛先へメールする内容を応用して、期日にアラートメールを周知するスクリプト書きました↓
関連記事:【即戦力】GASでアラートメールを作成して期日になったら自動通知

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ