GASのメール送信で複数の宛先に送る方法(MailApp.sendEmail)

2021年1月19日

Google Apps Script(GAS)では、メールを送るためのMailAppのクラスが用意されていて、メール送信がスクリプトで実行できます。

GASでメールを送る際に1つのメールアドレスだけではなく、複数の宛先にメールを送信する方法を紹介します。

Google Apps Scriptでメール送信

Google Apps Script(GAS)には、メール処理に関する機能が充実しています。

Gmailに関する各種処理を行うGmailAppクラスの他に、メール送信を簡単に実行できるMailAppクラスがあります。

Google Apps Script(GAS)でメール送信方法まとめ!コード1行で自動メールを送る

MailApp.sendEmail(“メールアドレス","メール件名","メール本文");

MailAppのsendEmailメソッドに宛先メールアドレスや件名、タイトルを引数に指定すると1行のスクリプトでメールを送信できます。

複数の宛先にメールを送りたい

なおメール送信をしていると、1つのメールアドレスだけでなく、複数のメールアドレス宛にメールを送信したいケースが出てきます。

業務のメールなどでは、1対1でのメールは珍しく、複数の宛先に送るケースが多いです。

先程紹介したGoogle Apps Script(GAS)のMailAppのsendMailメソッドの紹介記事では、1つのメールアドレスに送る形でした。

ただ、1つのメールアドレスだけでなく、複数のメールアドレス宛にメール送信する方法があります。

GASで複数のメールアドレスにメール送信する方法

Google Apps Script(GAS)で複数のメールアドレス宛にメール送信する方法を紹介します。

MailAppのsendMailメソッドで複数宛先にメールを送るには、以下のように記述します。

MailApp.sendMail(“○○○@abc.com,△△△@abc.com,◆◆◆@abc.com","メール件名","メール本文");

メールアドレスをカンマ(,)区切りで第一引数に指定することで、それぞれの宛先にメールが送信されます。

実際に上記の書き方に従ったGASの複数宛先へのメール送信のサンプルコードを紹介します。

function myFunction() {
//メールアドレスの宛先を複数指定、メアド間は,(カンマ)区切りで記述する
let address = "aaa@auto-worker.com,bbb@auto-worker.com,ccc@auto-worker.com";
//メールの件名を記述する
let mailTitle = "テストメール";
//メール本文を記述する
let mailText = "本文です。";
//MailAppで宛先、件名、本文を引数にしてメールを送付する
MailApp.sendEmail(address, mailTitle, mailText);
}

複数宛先にメール送信するサンプルコードを実行すると、引数に指定した3つのメールアドレス宛にメールが送信されます。

宛先欄を見ると、複数のメールアドレスが記載されていることが確認できます。

複数宛先を配列で設定には注意

GASで複数のメールアドレス宛にメール送信する際の注意点があります。

メールアドレスを配列として用意し、MailApp.sendEmailの引数にメールアドレスの配列をそのまま指定して実行するとエラーします。

配列で指定する場合は1つずつ指定する必要があります。

MailApp.sendEmail(address[0], mailTitle, mailText);

配列のメールアドレスに対しループ処理でsendEmailメソッドを実行する場合は、個別にメール送信が行われるので、メールマガジンなどには適しています。

ただ、返信を伴うメールの場合は、別個でやり取り発生することになります。

まとめ・終わりに

今回、Google Apps Script(GAS)で複数のメールアドレス宛にメール送信を行う方法を紹介しました。

MailApp.sendEmailの1つ目の引数を、「"○○○@abc.com,△△△@abc.com"」のような形でカンマ区切りで記述することでそれぞれの宛先にメール送信が可能です。

業務用のメールでは、1つの宛先だけでなく、複数の宛先にメールを送る場合があります。

そうした際に、GASによるメール送信のスクリプト実行を試してみて下さい。