【GAS】Gmailで送信予約を自動化する方法
Google Apps Script(GAS)を活用することで、Gmailで送信予約を自動化できます。送信予定日時を指定したメールを効率的に管理し、自動で送信することで業務効率を大幅に向上させられます。この記事では、GASを使った送信予約の方法や具体的なコード例を解説します。
目次
GASで送信予約を行うメリット
- 手動操作不要: GASを活用すれば、Gmailアプリを開かずに自動で送信予約が可能です。
- 一括送信の効率化: スプレッドシートと連携することで、複数のメールを異なるタイミングで送信できます。
- 柔軟なスケジュール管理: トリガー機能を利用して、送信タイミングを細かく設定できます。
Gmailの送信予約を実現する基本方法
GASで送信予約を行うには以下の2つが必要です。
- スクリプトで送信処理を記述: GmailAppの
sendEmail
メソッドを使用してメールを送信します。 - トリガーの設定: Google Workspaceの時間トリガー機能を利用して、指定したタイミングでスクリプトを実行します。
基本構文
以下の構文を使ってメールを送信できます。
GmailApp.sendEmail(to, subject, body, options);
引数 | 説明 |
---|---|
to | 宛先メールアドレス |
subject | メールの件名 |
body | メール本文 |
options | CC、BCC、添付ファイルなどのオプション設定(任意) |
具体例1: 単一メールの送信予約
以下のコードは、特定の日時にメールを送信する例です。
javascriptコードをコピーするfunction scheduleEmail() {
const recipient = "example@gmail.com"; // 宛先
const subject = "送信予約メール"; // 件名
const body = "このメールは送信予約機能を使用して送信されています。"; // 本文
// メール送信
GmailApp.sendEmail(recipient, subject, body);
}
トリガーの設定
- Google Apps Scriptエディタを開く。
- メニューから「スクリプトエディタ」→「トリガー」を選択。
- 「トリガーを追加」から
scheduleEmail
関数を選択し、実行日時を設定。
これで指定した日時にメールが送信されます。
具体例2: スプレッドシートを使った複数メールの送信予約
スプレッドシートに送信予定のメール情報(宛先、件名、本文、送信日時)を記載し、GASで一括送信する方法です。
スプレッドシート構造
宛先 | 件名 | 本文 | 送信日時 |
---|---|---|---|
user1@example.com | お知らせ1 | 本文内容1 | 2025-01-03 10:00:00 |
user2@example.com | お知らせ2 | 本文内容2 | 2025-01-03 14:00:00 |
コード例
javascriptコードをコピーするfunction scheduleEmailsFromSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
const now = new Date();
data.forEach((row, index) => {
if (index === 0) return; // ヘッダー行をスキップ
const recipient = row[0];
const subject = row[1];
const body = row[2];
const scheduledTime = new Date(row[3]);
// 送信予定日時が現在時刻を超えている場合にメール送信
if (scheduledTime <= now) {
GmailApp.sendEmail(recipient, subject, body);
Logger.log(`送信完了: ${recipient}`);
}
});
}
定期実行トリガーの設定
- 「トリガーを追加」から
scheduleEmailsFromSheet
関数を選択。 - 時間ベースのトリガー(例: 毎分、毎時)を設定し、送信予約を定期的にチェック。
注意点
Gmail APIの制限
- 送信上限: GmailのAPIを使用したメール送信には1日100通(無料アカウント)の制限があります。Google Workspaceアカウントでは上限が拡張されます。
時間精度
- トリガーは分単位で動作するため、秒単位の精密な送信はできません。
権限の確認
- GASを初めて実行する際に、Gmailへのアクセス許可を与える必要があります。
まとめ
この記事では、GASを使ったGmailの送信予約の方法を解説しました。
- 単一メールを送信予約する方法
- スプレッドシートを使った複数メールの送信予約
- トリガーを活用した自動化の手順
これらを活用すれば、メール送信の効率が大幅に向上します。ぜひ試してみてください!