広告

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

2020年12月3日

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

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

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

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

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

参考:sendEmail

GmailApp.sendEmailのあとに、

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

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

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

スプシから自動通知
Spreadsheet-sheetgmail-Eyecatch
【コピペで完了】スプレッドシートからメール送信!スクリプトで一発解決!

スプレッドシートから簡単にメールを作成して送信できたら... スプレッドシートからメール送信したGIF とっても楽チンで ...

続きを見る

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で作る入力フォーム
gas-html-form
GASでHTMLの入力フォームを作成する方法とポイント2つ

スプレッドシートのGoogle Apps scriptを使って、 HTMLの入力フォームを作成 入力した値をスプレッドシ ...

続きを見る

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
OYAKUN
それかOutlookは使えないので、Gmailで通知する仕様にしますね!という誘導を...w

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

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

GASデアラート!!
gas-Alert
【即戦力】GASでアラートメールを作成して期日になったら自動通知

GASで期日になったら自動でアラートメールを周知するスクリプトを共有します。 すぐにコードを見る↓ 納期がきたら... ...

続きを見る

関連記事: GASでHTMLの入力フォームを作成する方法とポイント2つ
関連記事: 【コピペで完了】スプレッドシートからメール送信!スクリプトでグラフデータも送れるよ!