本記事では、毎月の決まった時間帯に、メールを自動送信する方法を紹介します。
リマインダーとして利用できて無料。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」をクリックして実行します。

実行すると、今度は承認を求められることなく関数が実行されます。
これで完了です。
ちなみにトリガーの設定確認は、左側メニューの目覚まし時計アイコン(トリガー)から確認できます。

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

まとめ
- Googleアカウントにログインし、GAS(https://script.google.com/home)を開く
- こちらのコードをコピペし、内容を変更する
- sendMonthlyReminder() を実行する(テスト送信)
- setupMonthlyTrigger() を実行する
メールでリマインドを設定したい方は、お手軽なのでぜひやってみてください!

