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

2020年8月28日

Google Apps Scriptではスクリプトを書くことでメールも送信することができます。

今回、たった1行のコード(MailApp.sendEmail)でメールを送信ができるようになるサンプルコードで、GASでメールを送る方法について解説します。

Google Apps Scriptでメール送信も自動化

Google Apps Script(GAS)ではスクリプトを記述することでメールを送ることができます。

通常のプログラミング言語では、メールを送るのにメール送信のプロトコルやネットワークのポート番号などを指定する必要があります。

しかし、GASのではGmailのシステムを利用できるため、プロトコルやポート番号など気にせずにメール送信が可能です。

変数の指定などを除けば、たった1行のGASのコードでメールを送れます。

GASのスクリプトを記述して他の処理と組み合わせることで、自動通知のメールを実装も可能です。

GASでメール送信はMailApp.sendEmail

Google Apps Scriptでメール送信したい場合には、MailApp.sendEmailというメソッドを使用します。

MailApp.sendEmail(mailAddress, mailTitle,mailText);

  1. 第1引数mailAddress:送付したいメールアドレス
  2. 第2引数mailTitle:メール件名
  3. 第3引数mailText:メール本文

宛先、件名、本文の3つを引数に指定することでその内容でメールを送ることができます。

メールを送る際には、ログインしているGoogleアカウントのアドレスが使用されることになります。

※GASのメール送信方法として、GmailApp.sendEmailがありますが、MailApp.sendEmailとの違いについては後ほど説明します。

1行でメールを送るGASのコード

実際にGoogle Apps Script(GAS)で1行のサンプルコードで、メールを送信する方法を紹介します。

以下のようにMailApp.sendEmailメソッドを使って、宛先・件名・本文を引数に指定してメールを送ります。

Google Apps Script(GAS)のMailApp.sendEmailのサンプルスクリプト

MailApp.sendEmail("aaa@auto-worker.com", "GASテスト","GASでメールします。");

先程説明したMailApp.sendEmailに宛先、件名、本文の順に3つの引数を指定します。

なお、この1行のメール送信GASスクリプトを実行すると、初回実行時には権限に関するメッセージが表示されます。

Google Apps Script(GAS)でMailApp.sendEmail初回実行時は権限に関するメッセージが表示される

「許可を確認」ボタンをクリックして、スクリプト実行の許可を行いましょう。

※初回実行時の承認・権限許可についてはこちらの記事で解説しています。

Google Apps Script(GAS)入門 初回コード実行時の承認・許可方法を解説【図説】

なお、今回の場合は以下のような権限の承認が求められます。

Google Apps Script(GAS)のMailApp.sendEmail実行時に求められる権限はメール送付に関する承認のみ

「ユーザー本人に代わってのメールの送信」ということで、GASスクリプトでメールを自動送信するために許可します。

※一度許可を行うと、以後はスクリプトを実行しても承認を求められるメッセージは表示されません。

MailApp.sendEmailによるメール送信のサンプルコードを実行すると、宛先のメールアドレスにメールが届くことが確認できます。

Google Apps Script(GAS)のスクリプトで自動的にメール送信した結果、正常にメールが受信できた

先程指定した宛先に、件名・本文も引数に設定した通りのメールがスクリプト実行したGmailアドレスから送られています。

このようにGASでは非常に簡単に1行のコードだけでメールを送ることが可能です。

Gmailの送信済みフォルダにも記録

Google Apps Script(GAS)のコードを実行して送信したメールは、GoogleのメールサービスであるGmailの送信済みフォルダにも記録されています。

Google Apps Script(GAS)で送付したメールは、Gmailの送信済みフォルダにも記録されている

このようにGASで自動送信したメールについても、あとからGmailの送信済みフォルダをチェックすることで、どのようなメールが送られたか確認可能です。

スプレッドシートと組み合わせてメルマガツールも

サンプルコードで紹介したように、Google Apps Scriptではたった1行でメールを送ることが簡単にできます。

GoogleのスプレッドシートとGASを組み合わせることでメルマガ配信ツールを作ることも可能です。

ただし、GASによるメール送信数には上限が設けられており、2020年8月時点では、1日100通がMAXとなっています。

GASのメール送信は実行上限に注意!残り回数確認と上限以上のメールを送る方法

そのため、100名以下もしくは日を分けて送るなど処理の分割が必要です。

※有料版のG Suiteに加入すれば、1500通まで拡張されます。

GmailApp.sendEmailとの違いは?

今回はMailApp.sendEmailメソッドを使いましたが、GASにはGmailApp.sendEmailというメソッドもあります。

これら2つは同じようにメールを送るメソッドですが、権限部分が異なります。

MailApp.sendEmailはユーザー本人に代わってメールを送ることだけが可能なのに対し、GmailApp.sendEmailではGmailに関わるあらゆる操作の権限が求められます。

GmailApp.sendEmailメソッドの場合、Gmailに関するあらゆる権限の許可が求められる

仮にGmailApp.sendEmailで実行すると、メール送信以外にもメール受信やメールの削除などもGASで可能になります。

そのため、受信したメールを処理する等のコードが必要なく、メール送信するだけでよければ、権限が厳しめのMailApp.sendEmailを利用することが推奨されます。

複数の宛先やCC/BCC付きでメールを送る方法

前述で紹介したMailApp.sendEmailメソッドでは、1つの宛先にプレーンなメールを送る方法を解説しました。

GASでメールを送る際には宛先は1つだけではなく、複数を指定することもできます。

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

大勢の関係者にメールを送りたい場合には、上記の解説記事の手順で複数のメールアドレス宛に送信できます。

その他CCやBCCをつけてメールを送ることも可能です。

GASのメール送信で宛先以外にCCやBCCを追加する方法

業務メールではCCをつけてメールを送ることが多いので、CCをつけてメールを送ることができるので便利です。

GASのメール送信は添付ファイルも可能

Google Apps Script(GAS)でのメール送信では、メール本文のテキストデータを送るだけでなく、ファイルを添付してメールを送ることができます。

下記の記事では、GASのスクリプトでメール送信する際に、Googleドライブにあるファイルを添付ファイルとして送る方法を解説しています。

GASのメール送信で添付ファイルを付けて送る方法(Googleドライブのファイル送付)

 

添付ファイル付きメールをGASで自動送信することで、週次や月次など定期的なタイミングで、PDFなどのファイルをメールでメンバーに共有可能となります。

まとめ・終わりに

今回、Google Apps Script(GAS)の1行のコードでメールを送信する方法を紹介しました。

GASにはMailApp.sendEmailメソッドがあり、宛先メールアドレス、件名、本文を引数に指定することで簡単にメールを送ることができます。

うまく応用すれば、スプレッドシートにリストアップされた宛先に一斉にメール送信するなど、メルマガシステムなどを開発することが可能です。

GmailApp.sendEmailというメソッドもありますが、メール送信だけの場合はMailApp.sendEmailメソッドがオススメです。

シンプルな機能ながらも、複数宛先やCC,BCCにも対応しており、添付ファイル付きメールも送信できます。

非常に便利なGASのメール機能ですが、送信回数が1日100回と上限を設けられているため、制限にかからないよう工夫が必要です。

ぜひ、GASのコードでの自動メールを活用し、日々の業務の情報共有を効率化しましょう。