【GAS】Gmailの自動送信でリマインダーを作成する方法

本記事では、毎月の決まった時間帯に、メールを自動送信する方法を紹介します。
リマインダーとして利用できて無料。GAS(Google Apps Script)を使うので少し難しいように思われそうですが、全部コピペで設定できるようにしましたので、ぜひ参考にしてみてください!

目次

GAS(Google Apps Script)を開く

Googleアカウントにサインインし、GASのページ(https://script.google.com/home)を開きます。
以下のようなページが開くので、右上の「新しいプロジェクト」をクリックします。

以下のようなページが開いたら準備完了です。

コードを記述して実行する

コード.gsを開いた状態(GASを最初に開いた状態)で、右側に以下コードをコピペします。
function myFunction() { }は消してください。

function sendMonthlyReminder() {
  const to = 'example@example.com';  // 送り先のメールアドレス
  const subject = '毎月のリマインド';  // メールの件名
  const body = 'これは毎月自動送信されるリマインドメールです。';  // メールの本文

  MailApp.sendEmail(to, subject, body);
}

function setupMonthlyTrigger() {
  const triggers = ScriptApp.getProjectTriggers();

  for (const trigger of triggers) {
    if (trigger.getHandlerFunction() === 'sendMonthlyReminder') {
      ScriptApp.deleteTrigger(trigger);
    }
  }

  ScriptApp.newTrigger('sendMonthlyReminder')
    .timeBased()
    .onMonthDay(10)  // 毎月10日
    .atHour(9)       // 9~10時の間
    .inTimezone('Asia/Tokyo') // 日本時間
    .create();
}
こんな感じ。

超ざっくり中身を説明すると、こちらには以下の2つの関数(機能)が書かれています。

function sendMonthlyReminder() { ~ }

メールの宛先や内容を決めて、実際にGmailから送信する関数。

function setupMonthlyTrigger() {

毎月の決まった日時に、sendMonthlyReminder()を実行するトリガーを設定する関数。 

for (const trigger of triggers) { ~ }は、すでにトリガーが設定されていた場合に、そのトリガーを消去するための記述。つまりトリガーの重複設定を防止する措置なので、特に気にしなくてOKです。

コードをコピペしたら、メールアドレス・件名・本文 および メールを送る日時 を、ご自身が登録したい内容に合わせて修正します。ちなみに、筆者は以下のように設定しました。

function sendMonthlyReminder() {
  const to = 'xxx@gmail.com';  // 自分のGmailアドレス
  const subject = '月末処理';  // メールの件名
  const body = '○○銀行への振込';  // メールの本文

  MailApp.sendEmail(to, subject, body);
}

function setupMonthlyTrigger() {
  const triggers = ScriptApp.getProjectTriggers();

  for (const trigger of triggers) {
    if (trigger.getHandlerFunction() === 'sendMonthlyReminder') {
      ScriptApp.deleteTrigger(trigger);
    }
  }

  ScriptApp.newTrigger('sendMonthlyReminder')
    .timeBased()
    .onMonthDay(28)  // 毎月28日
    .atHour(9)       // 9~10時の間
    .inTimezone('Asia/Tokyo') // 日本時間
    .create();
}

これで、毎月28日の9~10時の間に、自分のGmailから自分のGmail宛に、リマインドメールが届くようになります。

  • 日付は28日以前が推奨です。
    29~31日に設定すると、その日付がない月の場合にメールが送られません。
  • メールの送信回数には上限があります。
    (2026年3月時点で consumer アカウントは 1日100件、Google Workspace は 1日1,500件)
    個人利用・小規模用途向けとお考え下さい。
  • メールの送信タイミングは前後します。
    厳密な秒単位実行ではなく、「指定した時間帯で動く」前提で考えた方がいいです。
    • nearMinute()を使うと分をある程度寄せられますが、これも±15分の幅があります。

コードが完成したら、左上の「無題のプロジェクト」をクリックして、名前を変えておきましょう。
筆者は「月次リマインダー」にしました。

これで準備が整ったので、💾アイコンをクリックして内容を保存します。

完成形

Apps Script を実行し、メール送信テスト

では実際に、コードを動かしてみましょう。

まずは、ちゃんとメールが送信されて届くかどうかのテストをします。
メニューバーに「実行ボタン」と、どの関数を実行するかを選べるプルダウンがあります。

「sendMonthlyReminder」を選択した状態で、実行をクリックします。
これで登録したメールアドレス宛にメールが送られるのですが、最初は本当に実行して良いかの承認を求められるので、許可をしていきます。

「権限を確認」をクリック。

「詳細」をクリック → 「~~~(安全ではないページ)に移動」をクリック。

どちらにもチェックを入れて、「続行」をクリック。

これでメールが送られるはずですので、メールボックスをチェックしてみてください。
メールが届かない場合、メールアドレスが誤っているなどの不具合があるはずです。

Apps Script を実行し、リマインダーを設定

メールが届いたのを確認できたら、いよいよリマインダーの設定です。
テストのときと同じように、今度は「setupMonthlyTrigger」をクリックして実行します。

実行すると、今度は承認を求められることなく関数が実行されます。
これで完了です。

ちなみにトリガーの設定確認は、左側メニューの目覚まし時計アイコン(トリガー)から確認できます。

こちらが先ほどの関数で設定されたトリガーです。
右側の鉛筆アイコンで開くと以下のような画面が表示され、内容を確認したり変更したりできます。

まとめ

  1. Googleアカウントにログインし、GAS(https://script.google.com/home)を開く
  2. こちらのコードをコピペし、内容を変更する
  3. sendMonthlyReminder() を実行する(テスト送信)
  4. setupMonthlyTrigger() を実行する

メールでリマインドを設定したい方は、お手軽なのでぜひやってみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次