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

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("biz@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となっています。

そのため、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を利用することが推奨されます。

まとめ・終わりに

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

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

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

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