GASでGmailやOutlook等、複数の宛先へメール送信する際に配列格納でハマったのでメモ。
関連記事:GASでアラートメールを作成して期日になったら自動通知
GAS × Mail・複数宛先へ送信する構文
GASでMailを複数宛先へ送信する設定方法は、以下のとおり。
GmailApp.sendEmail(受信者、件名、本文、オプション)
参考:sendEmail
GmailApp.sendEmailのあとに、
- 受信者(宛先)
- 件名
- 本文
- オプション
以上の順に設定していく。
-
【コピペで完了】スプレッドシートからメール送信!スクリプトで一発解決!
スプレッドシートから簡単にメールを作成して送信できたら... スプレッドシートからメール送信した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で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メソッドでアドレス追加できる仕様にしてほしい。
追記:GAS複数メールの応用編書きました
複数宛先へメールする内容を応用して、期日にアラートメールを周知するスクリプト書きました↓
関連記事:【即戦力】GASでアラートメールを作成して期日になったら自動通知
-
【即戦力】GASでアラートメールを作成して期日になったら自動通知
GASで期日になったら自動でアラートメールを周知するスクリプトを共有します。 すぐにコードを見る↓ 納期がきたら... ...
続きを見る
関連記事: GASでHTMLの入力フォームを作成する方法とポイント2つ
関連記事: 【コピペで完了】スプレッドシートからメール送信!スクリプトでグラフデータも送れるよ!