はじめに
Google Apps Script(GAS)は、Googleのサービスを自動化するのに非常に便利なツールです。本記事では、GASを使って自動でメールを送信するスクリプトの作成方法を初心者向けに解説します。「特定の時間にメールを送信したい」「定型メールを毎日送信したい」といったニーズを簡単に解決できます。
GASを使った自動メール送信の概要
Google Apps Scriptを使うと、以下のような自動メール送信が可能です:
- 定期的にメールを送信(例:毎朝のリマインダー)
- Googleスプレッドシートからデータを取り込んで送信
- 条件に応じたメール送信(例:未完了タスクの通知)
これらを実現するための基本的な手順を以下で解説します。
Step 1: GASの開発環境を準備
- Googleドライブを開く
Googleドライブにアクセスし、[新規]ボタンから「Google Apps Script」を選択 - プロジェクトを作成
新しいプロジェクトに適当な名前を付ける(例:「自動メール送信スクリプト」)
GASのセットアップや基本的な開発環境の整え方については、別記事
「エンジニアでなくてもOK!ビジネスパーソン向けGoogle Apps Script(GAS)の使い方」
で詳しく解説しています。初めてGASを使う方は、まずそちらをご参照いただければ、スムーズに開発を始めることができると思います。
Step 2: 自動メール送信のスクリプトを作成
以下のサンプルコードをプロジェクトにコピー
コード解説
GmailApp.sendEmail(recipient, title, message)
宛先(recipient)、件名(title)、本文(message)を指定してメールを送信
Step 3: スクリプトをテスト
- スクリプトエディタ上で、
sendEmail
関数を選択し、▶(実行ボタン)をクリックします。 - 初回実行時には、Googleアカウントの権限承認が必要です。指示に従い、権限を付与してください。
- 実行後、指定した宛先にメールが届いていることを確認します。
Step 4: 自動化(トリガー設定)
GASでは、トリガーを設定することでスクリプトを送りたい時間や日にち等を設定することができます。
トリガーの設定方法
- スクリプトエディタのメニューから、[時計アイコン(トリガー)] を選択します。
- [トリガーを追加] をクリックし、以下のように設定します:
- 実行する関数:
sendEmail
- イベントの種類: 時間主導型
- 時間ベースのトリガー: 毎日午前7時など、好きな時間を選択
- 実行する関数:
設定が完了すると、毎日指定した時間にスクリプトが自動実行され、メールが送信されます。
※今回は特定の日時(2024年11月20日9時00分に送信する設定にしております)
詳細は下記のイメージを参考にしてください。
応用例:スプレッドシートを使った複数人宛へのメール送信
より実用的なスクリプトとして、スプレッドシートにリストされた宛先にメールを送る方法もあります。
スクリプト例
function sendEmailsFromSheet() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 2).getValues(); // A列(宛先)、B列(メッセージ) data.forEach(row => { const recipient = row[0]; const title = "スプレッドシートからの自動メール"; const message = row[1]; if (recipient && message) { GmailApp.sendEmail(recipient, title, message); Logger.log("メールを送信しました: " + recipient); } }); }
コード解説
forEach
配列の各要素(ここではスプレッドシートの各行)を順番に処理します
row[0]はA列、row[1]はB列を指します。
プログラミングでは、配列の番号は 0からスタート するというルールがあるので、これを覚えておくと
スムーズに理解できるでしょう。if (recipient && message)
宛先メールアドレスや本文が空でない場合のみ、メールを送信します。
スプレッドシートの内容
A列にメールアドレスを入力
B列に本文を入力
注意事項
- GASの送信制限
Gmailを使ったメール送信には制限があります。(無料アカウントでは1日あたり最大100通) - プライバシーとセキュリティ
宛先やメール本文に個人情報を含める際は十分注意してください。
まとめ
Google Apps Scriptを使えば、定期的なメール送信を自動化して手間を大幅に削減できます。今回の基本スクリプトを土台に、スプレッドシートとの連携や条件付き送信など、さまざまな応用が可能です。ぜひ日々の業務に活用してみてください!