【GAS】メール送信上限の確認手順と無料版の限界|業務停止を防ぐ方法
コラム更新日:2026.08.27
GASのメール送信上限の仕様や残数の確認手順を解説。無料アカウントでの運用に潜む業務停止リスクと、安全に自動化を推進するための根本解決策を紹介します。
Google Apps Script(GAS)を活用して業務のメール送信を自動化する際、必ず直面するのが1日あたりのメール送信上限です。制限を超えてメールを送信しようとするとエラーが発生し、最長で24時間メール送信機能が一時停止します。本記事では、アカウント種別ごとの送信上限数、制限のカウント方法、エラー発生時の原因と対策、そして上限を超えずに安全に運用するためのプログラム手法まで詳しく解説します。
執筆・監修:TSクラウド編集部
Google Cloud の「プレミア認定」を保有する、Google Workspace 正規販売代理店です。業界歴 17 年、延べ 3,500 社以上の導入支援実績( 2026 年 2 月時点)に基づき、Google Workspace の最新機能から活用術、DX推進に役立つノウハウを専門的な視点で解説しています。
※情報は記事公開(更新)時のものです。Google Workspace の仕様や価格は変更される場合があるため、最新情報は必ず公式ページでご確認ください。
※名称変更に関するお知らせ: NotebookLMは、2026年7月に「Gemini Notebook」に名称が変わりました。メディア内では旧名称が利用されていることがあります。その場合は、Gemini Notebookに読み替えてご確認ください。
目次
GASのメール送信上限とは?無料版と有料版の違い
GAS(Google Apps Script)は、Googleが提供する各種サービス(スプレッドシート、フォーム、Gmailなど)をプログラムで連携・自動化できる強力なツールです。しかし、システムの乱用やスパムメール対策、サーバー負荷の平準化を目的として、すべてのユーザーに対して1日あたりのサービス利用上限が設定されています。
特にメール送信機能においては、1日あたりにアプローチできるメール受信者数(宛先の総数)がアカウントの契約プラン(一般の無料アカウント、またはGoogle Workspaceアカウント)によって区分されています。
業務自動化を成功させるための第一歩として、まずは現在お使いの環境に適用されている制限事項を理解しておきましょう。
無料アカウントと有料アカウントの送信上限比較
無料のGoogleアカウント(@gmail.com)と、ビジネス向けの有料アカウント(Google Workspace)では、GAS経由で1日に送信できるメールの上限数に大きな差が存在します。
具体的な上限数の違いは以下の通りです。
| アカウント種別 | 無料アカウント(@gmail.com) | Google Workspace(有料アカウント) |
|---|---|---|
| 1日あたりの送信上限(受信者数) | 100受信者 / 日 | 1,500受信者 / 日 |
| 主な特徴・注意点 | 個人向けの完全無料アカウント。宛先の数(To/Cc/Bccの合計)でカウントされます。 | ビジネス向けの有料アカウント。(ドメイン内宛てへの送信は最大2,000受信者/日)※無料トライアル期間中は500受信者 / 日に制限されます。 |
このように、無料アカウントの1日100受信者に対し、有料のGoogle Workspaceアカウントでは1日1,500〜2,000受信者と、送信枠に最大15倍〜20倍もの開きがあります。
問い合わせへの自動返信、リマインドメール送信、メールマガジン配信などの、毎日数十件〜数百件のメールを自動送信するような業務を無料アカウントで運用しようとすると、あっという間に上限に達してしまい、システムが停止(最長24時間の送信ブロック)するリスクが高まります。

Google Workspaceとは?できること・使い方・料金をわかりやすく解説
Google Workspaceでできることや基本的な使い方、料金プランを徹底解説!Microsoft 365との違い、Geminiなど最新AIの活用法から導入事例まで網羅。
GASにおける送信通数と宛先数の計算ルール
GASの送信上限を考える上で、最も多くの方が陥りやすい勘違いが「メールを何通送ったか(通数)」でカウントされているという思い込みです。
GASの仕様において、送信上限はメールの送信通数ではなく指定した宛先(To/Cc/Bcc)の合計数で計算されます。
たとえば、以下のようなケースで計算方法を確認してみましょう。
- ケース1:1通のメールに複数の宛先を指定した場合
To欄に1人、Cc欄に2人、Bcc欄に2人の合計5人のメールアドレスを設定してメールを1通送信した場合、送信カウントは「1通」ではなく「5件」として消費されます。 - ケース2:10件のアドレスにそれぞれ個別メールを送信した場合
1人ずつ宛先を変えて10通のメールを送信した場合も、宛先総数は「10件」となります。
つまり、無料アカウントの1日100通という制限は、実際には1日に送信できる宛先アドレスの合計が100件までという意味になります。
また、アカウントの別名アドレス(エイリアス)からの送信や、委任されたユーザーからの送信、不在通知機能による自動返信メールもすべてこの制限カウントに含まれるため注意が必要です。
GASで現在のメール送信残数を確認する方法
プログラムが稼働中に突然送信制限を超えてエラー停止するのを防ぐためには、スクリプト実行時に今日の残りの送信可能枠がどれくらい残っているかを自動で判定させる仕組みを取り入れることが有効です。
- MailApp.getRemainingDailyQuota() を使った確認スクリプト
GASの標準組み込みクラスである MailApp には、本日の残り送信可能通数を取得できる getRemainingDailyQuota() 関数が用意されています。この関数を実行することで、リアルタイムな送信上限残数を数値で取得することが可能です。
具体例として、スプレッドシート上のリストに対してメール送信を行う前に送信残数をチェックし、一定数以下になったら安全に処理をストップさせるサンプルプログラムを紹介します。
/**
* GASの残りメール送信可能通数をチェックし、安全にメール送信を行うスクリプト
*/
function sendEmailsWithQuotaCheck() {
// アクティブなスプレッドシートとシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var startRow = 2; // ヘッダー行を除いたデータ開始行
var lastRow = sheet.getLastRow();
// データが存在しない場合は処理を終了
if (lastRow < startRow) {
Logger.log("送信対象のデータが存在しません。");
return;
}
// シートからデータを一括取得(A列:宛先, B列:件名, C列:本文, D列:ステータス)
var dataRange = sheet.getRange(startRow, 1, lastRow - 1, 4);
var data = dataRange.getValues();
for (var i = 0; i < data.length; i++) {
var emailAddress = data[i][0];
var subject = data[i][1];
var body = data[i][2];
var status = data[i][3];
// すでに送信完了している行はスキップ
if (status === "送信完了") {
continue;
}
// 今日の残り送信可能件数を取得
var remainingQuota = MailApp.getRemainingDailyQuota();
Logger.log("現在の残り送信可能数: " + remainingQuota);
// 安全マージンとして残り5通未満になった場合は処理を中断
if (remainingQuota < 5) {
Logger.log("警告: 本日の送信上限に近づいたため、処理を中断しました。残数: " + remainingQuota);
// 現場管理者への通知やログ記録などをここで行う
break;
}
// メール送信処理
if (emailAddress !== "") {
MailApp.sendEmail(emailAddress, subject, body);
// ステータス更新とログ記録
sheet.getRange(startRow + i, 4).setValue("送信完了");
sheet.getRange(startRow + i, 5).setValue(new Date());
}
}
}
|
動作確認手順
- スプレッドシートの「拡張機能」>「Apps Script」を開き、上記のコードを貼り付けます。


- スクリプトエディタの上部にある関数選択でsendEmailsWithQuotaCheckを選択し、「実行」をクリックします。

- 初回実行時はGoogleアカウントへの権限承認画面が表示されるため、画面の指示にしたがってアクセスを許可します。

- 実行ログ(「実行数」タブまたはCtrl + Enter)を確認し、現在の残り送信可能数: XXX と表示されていることを確認します。
このように、処理ループのなかで MailApp.getRemainingDailyQuota() の戻り値をチェックし、送信残数が減った段階で自動的に処理を中断するロジックを組み込んでおくことが重要です。これにより、送信上限超過に伴う重大なシステムエラーや、24時間に及ぶ送信ロックのリスクを事前に回避できます。
無料アカウントでの上限対策と運用リスク
無料のGoogleアカウント(@gmail.com)を利用したまま、「1日あたりの送信上限である100受信者(宛先数)を回避して、大量のメールを送り続けたい」と考え、プログラムの工夫や運用上の裏技で対応しようとするケースが少なくありません。
しかし、無料アカウントの枠組みの中で無理な回避策を講じることは、GASの別のシステム制限(トリガー実行時間など)に伴うプログラムの極端な複雑化を招き、現場の管理工数を増大させます。
そればかりか、制限超過による最長24時間の送信ブロックや、アカウント自体の一時停止といった、ビジネス上のリスクを引き起こす直接的な原因となります。
トリガー分散や複数アカウント運用の危険性
無料版の上限を回避するために採用されがちな代表的な方法として「時間差トリガー分散」や「複数サブアカウントへの分散送信」があります。
- 時間差トリガー分散
1回あたりの送信数を数件に絞り、数時間おきにGASの時間主導型トリガーをセットして細かく送信する手法。 - 複数アカウント運用
送信専用の無料Googleアカウントを複数作成し、スクリプトや送信元を分散させる手法。
一見理にかなっているように思えるこれらの手法ですが、運用では以下のようなデメリットが発生します。
- スクリプト構造の不必要な複雑化
どこまで送信したかの状態管理や、失敗時のリカバリー処理などのコードが複雑になり、開発・メンテナンスコストが膨れ上がります。 - アカウント管理の形骸化(シャドーIT化)
個人の無料アカウントや管理外のサブアカウントが乱立することで、誰がどのアカウントでどんなメールを送信しているかが把握できなくなり、組織としてのセキュリティ統制が崩壊します。 - 自動判定システムによるアカウント凍結リスク
短期間に複数アカウントを作成してGASから大量送信を繰り返す行為は、自動スパム検知アルゴリズムによって不正利用と判断されやすく、アカウント自体が永久停止されるリスクが高まります。
業務停止リスクと保守工数の増大
送信上限に達してしまい、送信制限(エラー)がかけられると、該当アカウントは最長で24時間メール送信が一切行えなくなります。
※送信制限がかかると最長24時間送信不可になりますが、メールの受信やスプレッドシートなどの他のGoogleサービスは引き続き利用可能です。それゆえに受信はできているからシステムは正常に動いていると勘違いし、送信エラーの発見が遅れるという二次災害も発生しがちです。
この24時間送信不可の状態に陥った場合、ビジネスには以下のような直接的な損害が発生します。
- 重要顧客への連絡遅延・連絡漏れ
注文確認メール、問い合わせへの自動返信、個別見積もりの送付などが途絶え、顧客満足度の低下や失注につながります。 - 復旧作業と手動対応による現場工数の圧迫
エラーが発生した際、どのメールまで送信されていてどこから未送信なのかを人間の手でスプレッドシートと突き合わせ、手動でフォローメールを送るなどの無駄なリワーク作業が大量に発生します。 - GAS保守担当者への負担集中
「エラーが出たからすぐ直してほしい」という現場からの突発的な調査・修正依頼に対応するため、本来注力すべきコア業務がストップしてしまいます。
このように、無料アカウントのまま裏技的な対策で凌ごうとすることは、根本的な解決にならないばかりか、かえって業務効率を低下させる負の連鎖を生み出します。
Google Workspace導入で業務ストップを防ぐ理由
無料アカウントでの運用限界を感じた場合、最も安全かつ確実に業務ストップを防ぐ根本解決策がGoogle Workspaceの導入です。
送信上限1,500通への引き上げとセキュリティ強化
Google Workspaceの有料プランへ移行することで、GASでのメール送信に関する課題は一気に解消されます。
- 1日あたりの送信枠が最大1,500〜2,000受信者へと大幅拡張
前述の通り、メール送信枠が1,500〜2,000件と最大20倍になるため、日常的な問い合わせ対応や一斉お知らせメールであれば、上限を気にせず安定して自動運用できるようになります。 - 企業レベルの強力なセキュリティとログ管理
管理コンソールからユーザーのアクセス権限を一元管理できるほか、メールログ検索やBigQuery連携を用いた送信ログ監視が可能です。万が一の不正利用や情報漏洩のリスクを最小限に抑え、トラブル発生時も原因究明ができます。 - 独自ドメイン送信と標準セキュリティによる到達率向上
独自の組織ドメインから信頼性の高いメール送信を行えることに加え、TLS暗号化やMTA-STSなどの送信ドメインセキュリティ規格に対応しています。Googleの公式なメール送信者のガイドラインに準拠した配信環境を整えることで、受信側の迷惑メールフォルダに分類されるリスクを下げ、到達率を向上させることができます。
専任IT不在の企業でも安全に移行できる理由
Google Workspaceは、小規模事業者やIT専門家がいない組織でも導入しやすい環境が整っています。
- 管理コンソールによる一元管理
初期設定やユーザー追加、お支払い設定(クレジットカード決済や銀行口座振替、条件に応じた銀行振込対応など)は、専用の管理画面(Google 管理コンソール)から簡単な操作で完了します。 - 既存のGASスクリプトをそのまま継続利用可能
アカウントをGoogle Workspaceに切り替えても、これまでに作成したGASプログラムのコード自体を書き換える必要はありません。移行後もお支払い実績などの基準(累計100米ドルの支払いかつ基準到達後60日以上経過)を満たすことで、1日あたりの送信上限(受信者数)が自動的に最大1,500〜2,000件へと拡張されます。
※有料移行直後や無料試用期間中は上限が500件に制限されるほか、システム上の反映にタイムラグが生じる場合があるため、移行初期はMailApp.getRemainingDailyQuota() などで残枠を確認しながらの運用を推奨します。 - 充実した公式ドキュメントとサポート
有料のアカウントにはGoogleのサポートが提供されており、管理画面やお支払い、ドメイン等の設定トラブルに迅速に対応してくれます。
※ただし、GAS(プログラムコード)自体のエラーや記述方法に関する問い合わせは、公式サポートの対象外となるため、トラブル時は公式デベロッパーガイドや技術コミュニティを併用して解決を図るのが一般的です。
業務の自動化を止める前に適切な環境へ移行しよう
本記事では、GASを使ったメール自動送信における送信上限の仕組みから、残数の確認方法、無料アカウント運用のリスク、そして有料プラン導入のメリットまでを解説しました。 最後に、今回のポイントを振り返りましょう。
- 送信上限の基本仕様
無料アカウントは1日100受信者(宛先数)、Google Workspaceは1日1,500〜2,000受信者(宛先数)。 - カウント方法の注意
メールの送信「通数」ではなく、「To/Cc/Bccに設定した宛先の総数(受信者数)」でカウントされる。 - 残数の自動チェック
MailApp.getRemainingDailyQuota() をスクリプト内に組み込むことで、エラーが発生する前に送信処理を安全に回避できる。 - 無料版回避策のリスク
複数アカウントの使い回しや時間差送信は、スクリプトの不必要な複雑化(実行時間制限の超過リスク)や、Googleシステムによるアカウント一時停止のリスクが高い。 - 根本的な解決策
Google Workspaceを導入し、送信上限を1,500受信者(ドメイン内なら最大2,000受信者)に引き上げることで、業務ストップを防ぎ、安全で保守性の高い自動化を実現できる。
GASによるメール自動化は、日々のルーティンワークを削減し生産性を向上させる優れた仕組みです。しかし、無料アカウントの制限枠を超えた運用を続けて業務が停止してしまっては元も子もありません。 業務ストップのリスクを未然に防ぎ、安心して自動化を推進するために、ぜひこの機会にGoogle Workspaceへの移行をご検討ください。





