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引数mailAddress:送付したいメールアドレス
- 第2引数mailTitle:メール件名
- 第3引数mailText:メール本文
宛先、件名、本文の3つを引数に指定することでその内容でメールを送ることができます。
メールを送る際には、ログインしているGoogleアカウントのアドレスが使用されることになります。
※GASのメール送信方法として、GmailApp.sendEmailがありますが、MailApp.sendEmailとの違いについては後ほど説明します。
1行でメールを送るGASのコード
実際にGoogle Apps Script(GAS)で1行のサンプルコードで、メールを送信する方法を紹介します。
以下のようにMailApp.sendEmailメソッドを使って、宛先・件名・本文を引数に指定してメールを送ります。
MailApp.sendEmail("aaa@auto-worker.com", "GASテスト","GASでメールします。");
先程説明したMailApp.sendEmailに宛先、件名、本文の順に3つの引数を指定します。
なお、この1行のメール送信GASスクリプトを実行すると、初回実行時には権限に関するメッセージが表示されます。
「許可を確認」ボタンをクリックして、スクリプト実行の許可を行いましょう。
※初回実行時の承認・権限許可についてはこちらの記事で解説しています。
なお、今回の場合は以下のような権限の承認が求められます。
「ユーザー本人に代わってのメールの送信」ということで、GASスクリプトでメールを自動送信するために許可します。
※一度許可を行うと、以後はスクリプトを実行しても承認を求められるメッセージは表示されません。
MailApp.sendEmailによるメール送信のサンプルコードを実行すると、宛先のメールアドレスにメールが届くことが確認できます。
先程指定した宛先に、件名・本文も引数に設定した通りのメールがスクリプト実行したGmailアドレスから送られています。
このようにGASでは非常に簡単に1行のコードだけでメールを送ることが可能です。
Gmailの送信済みフォルダにも記録
Google Apps Script(GAS)のコードを実行して送信したメールは、Googleのメールサービスである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で実行すると、メール送信以外にもメール受信やメールの削除などもGASで可能になります。
そのため、受信したメールを処理する等のコードが必要なく、メール送信するだけでよければ、権限が厳しめのMailApp.sendEmailを利用することが推奨されます。
複数の宛先やCC/BCC付きでメールを送る方法
前述で紹介したMailApp.sendEmailメソッドでは、1つの宛先にプレーンなメールを送る方法を解説しました。
GASでメールを送る際には宛先は1つだけではなく、複数を指定することもできます。
大勢の関係者にメールを送りたい場合には、上記の解説記事の手順で複数のメールアドレス宛に送信できます。
その他CCやBCCをつけてメールを送ることも可能です。
業務メールではCCをつけてメールを送ることが多いので、CCをつけてメールを送ることができるので便利です。
GASのメール送信は添付ファイルも可能
Google Apps Script(GAS)でのメール送信では、メール本文のテキストデータを送るだけでなく、ファイルを添付してメールを送ることができます。
下記の記事では、GASのスクリプトでメール送信する際に、Googleドライブにあるファイルを添付ファイルとして送る方法を解説しています。
添付ファイル付きメールをGASで自動送信することで、週次や月次など定期的なタイミングで、PDFなどのファイルをメールでメンバーに共有可能となります。
まとめ・終わりに
今回、Google Apps Script(GAS)の1行のコードでメールを送信する方法を紹介しました。
GASにはMailApp.sendEmailメソッドがあり、宛先メールアドレス、件名、本文を引数に指定することで簡単にメールを送ることができます。
うまく応用すれば、スプレッドシートにリストアップされた宛先に一斉にメール送信するなど、メルマガシステムなどを開発することが可能です。
GmailApp.sendEmailというメソッドもありますが、メール送信だけの場合はMailApp.sendEmailメソッドがオススメです。
シンプルな機能ながらも、複数宛先やCC,BCCにも対応しており、添付ファイル付きメールも送信できます。
非常に便利なGASのメール機能ですが、送信回数が1日100回と上限を設けられているため、制限にかからないよう工夫が必要です。
ぜひ、GASのコードでの自動メールを活用し、日々の業務の情報共有を効率化しましょう。
ディスカッション
コメント一覧
まだ、コメントがありません