メール自動送信でできること:4つのパターン
「メールの自動送信」と一口に言っても、仕組みは4種類に分かれます。自分がやりたいのがどれかを先に決めると、使う道具が自然に決まります。
| パターン | 例 | 向いている道具 |
|---|---|---|
| 予約送信 | 月曜9時に定例連絡を送る/深夜に書いたメールを翌朝に届ける | Gmail「送信日時を設定」、Outlook「配信タイミング」 |
| 定期配信 | 毎月1日に請求書送付のお知らせ、毎週金曜に週報を送る | GAS の時間主導型トリガー、Power Automate |
| トリガー送信 | フォーム回答があったら自動返信、支払期日の3日前にリマインド | GAS(フォーム送信時トリガー・時間トリガー)、Outlook ルール |
| 差し込み一斉送信 | 宛名・金額・担当者名を変えて100社に一括送付 | Word+Outlook の差し込み印刷、Gmail の差し込み送信、GAS |
1〜2番目は「時間」が起点、3番目は「出来事」が起点、4番目は「件数」の問題です。中小企業で最も効果が大きいのはトリガー送信(送り忘れが消える)と差し込み一斉送信(1件ずつの作業が消える)で、この2つは後半で詳しく扱います。差し込みだけを深く知りたい方は差し込みメールを一括送信する3つのやり方をどうぞ。
Gmailで自動送信する方法(追加費用ゼロ)
1. 送信日時を設定(予約送信)
メール作成画面の「送信」ボタン右の▼から「送信日時を設定」を選ぶだけです。最大100件まで予約でき、予約したメールは左メニューの「予定」から確認・取り消しできます。夜に書いた催促メールを翌朝9時に届ける、といった使い方に向いています。
2. テンプレートで定型文をワンクリック化
設定→「詳細設定」→「テンプレート」を有効にすると、作成画面の︙メニューから定型文を保存・呼び出しできます。自動送信ではありませんが、「本文を書く時間」は消えます。件名まで保存されるので、問い合わせ返信・見積送付・納品連絡の3種類だけでも登録しておくと効きます。
3. フィルタ+テンプレートで自動返信
フィルタ作成時の「テンプレートを送信」にチェックを入れると、条件(件名に「資料請求」を含む等)に合ったメールへ自動で返信できます。同じ相手には4日に1回しか送られない仕様なので、問い合わせの一次返信に限定して使うのが安全です。
4. それ以上は Google Apps Script(GAS)へ
「フォーム回答ごとに内容を変えて返信」「期日の3日前にだけ送る」といった条件付きの自動送信は、Gmail単体ではできません。ここからはスプレッドシートとGASの出番です(後述)。
Outlookで自動送信する方法
1. 配信タイミング(遅延配信)
メール作成画面の「オプション」→「配信タイミング」で「指定日時以降に配信」を設定します。デスクトップ版Outlookでは、指定時刻までOutlookが起動している必要がある点に注意してください(新しいOutlookとWeb版は「送信スケジュール」でサーバー側予約になります)。
2. ルール(自動返信・自動転送)
「ルールと通知の管理」で、特定の差出人や件名に対してテンプレートを使って返信したり、担当者に自動転送したりできます。「サーバー上で処理」できるルールに絞ると、PCを閉じていても動きます。
3. クイックステップ
「返信して特定フォルダへ移動」「定型文を入れて転送」のような複数操作を1クリックにまとめる機能です。自動送信ではなく半自動ですが、1日20通の定型返信なら十分な効果があります。
4. Power Automate(Microsoft 365)
Microsoft 365 環境なら、Power Automateで「毎週月曜9時にExcelの一覧から未対応の相手へメール」「フォーム回答を受けたら確認メール」といったフローをノーコードで組めます。Google側のGASに相当する位置づけです。
スプレッドシート+GASで自動送信する(条件付き・定期・一斉)
中小企業で最も費用対効果が高いのがこの方法です。スプレッドシートを「宛先と条件の台帳」、GASを「送る係」にします。追加費用はかかりません。
基本形:一覧の未送信行にメールを送る
A列に宛先、B列に会社名、C列に金額、D列に送信済みフラグを置いた場合の最小コードです。
function sendMails() {
const sh = SpreadsheetApp.getActiveSheet();
const rows = sh.getDataRange().getValues();
for (let i = 1; i < rows.length; i++) {
const [to, company, amount, sent] = rows[i];
if (sent === '済') continue;
GmailApp.sendEmail(to, `【ご請求】${company}様 ${amount}円`, `${company} 様\n\n今月分のご請求額は ${amount} 円です。`);
sh.getRange(i + 1, 4).setValue('済');
}
}
送信済みフラグを立てるのがポイントです。途中で止まっても二重送信しない、あとから誰に送ったか分かる、の2つが同時に満たせます。送信ログはこの列に日時を書くだけで十分です。
定期配信:時間主導型トリガー
GASエディタの「トリガー」で、上の関数を「時間主導型」→「日付ベースのタイマー」→「午前9時〜10時」のように登録すると、毎日その時間に自動実行されます。週次・月次も同じ画面で設定できます。
トリガー送信:期日の3日前にリマインド
期日列を持たせ、if (daysUntil(due) === 3) の条件を足すだけで「支払期日の3日前にだけ送る」リマインドになります。フォーム回答をきっかけにしたい場合は「フォーム送信時」トリガーを使います。フォームの自動返信は標準機能でも作れるので、Excelマクロからのフォーム移行とあわせて設計すると、入力から連絡までが一本につながります。
差し込み一斉送信:本文テンプレートを別シートに
本文を「テンプレート」シートに置き、{{会社名}} のような差し込みタグを replace で置換する形にしておくと、文面の修正にコードを触らずに済みます。添付ファイルを宛先ごとに変える、担当者ごとに差出人を変える、といった要件もGASなら対応できます。
GASの始め方そのものはGASで業務自動化を始めるガイドに、請求書PDFの自動作成と送付までを一気通貫にしたい場合はスプレッドシートで請求書を自動作成する方法にまとめています。
一斉送信・自動送信の注意点:上限・法律・迷惑メール判定
1. 送信上限を知っておく
| 環境 | 1日の送信上限(目安) |
|---|---|
| Gmail(無料) | 500通/日 |
| Google Workspace | 2,000通/日 |
| GAS の MailApp/GmailApp(無料アカウント) | 100通/日 |
| GAS の MailApp/GmailApp(Workspace) | 1,500通/日 |
GASの上限はGmail本体より低い点に注意してください。数百社への一斉送信をGASで組む場合は、Workspaceアカウントで動かすか、日をまたいで分割送信する設計にします。上限に達すると、その日の残りは送信されずにエラーで止まります。
2. 特定電子メール法(広告・宣伝メールの場合)
営業案内やキャンペーンなど広告・宣伝を含むメールを送るときは、特定電子メール法により事前の同意(オプトイン)、送信者の氏名・名称と住所の表示、受信拒否の通知先(配信停止の導線)の表示が必要です。請求書送付や予約確認のような取引上の連絡は対象外ですが、末尾に宣伝を混ぜると対象になります。自動化で件数が増えるほど、この線引きを最初に決めておく価値があります。
3. 迷惑メール判定を避ける
独自ドメインで送るならSPF・DKIM・DMARCの設定は必須です。Googleは2024年以降、1日5,000通以上を送る送信者にDMARCとワンクリック配信停止を要求しており、小規模な送信でも認証が無いと迷惑メール判定を受けやすくなっています。加えて、短時間に大量送信しない(GASなら1通ごとに数秒待つ)、画像だけの本文にしない、件名に記号を並べない、の3点で到達率はかなり変わります。
4. 誤送信対策
自動化で最も怖いのは、間違った宛先に一括で送ってしまうことです。最初は自分宛てにだけ送るテストモードを用意し、宛先列の形式チェック(@が含まれるか)、BCCではなく1通ずつ送る設計、送信前の件数表示、の4つを組み込んでおくと事故はほぼ防げます。
どこまで自社で作り、どこから頼むか:費用目安
| やり方 | 費用の目安 | 向いている範囲 |
|---|---|---|
| Gmail/Outlookの標準機能 | 0円 | 予約送信、定型返信、単純な自動返信 |
| スプレッドシート+GASを自作 | 0円(作る時間のみ) | 一覧からの一斉送信、期日リマインド |
| GAS開発を外注 | 5万〜15万円程度 | 差し込み・添付・条件分岐・送信ログ・エラー通知まで含めた運用品質 |
| 月額保守つきで外注 | 初期費+月1〜3万円程度 | 宛先台帳の変更、文面の差し替え、上限・認証まわりの監視 |
判断の目安は「止まったときに自分で直せるか」です。月に数十通なら標準機能か自作で十分です。取引先への請求連絡のように止まると信用に関わるものは、送信ログ・エラー通知・再送の仕組みまで含めて作る必要があり、ここは外注の価値が出ます。費用の考え方は業務自動化の費用相場と判断軸にまとめています。
自動化できるメール・できないメールの見極めは単純です。「誰に・いつ・何を送るか」が表に書けるなら自動化できます。相手の返信内容を読んで判断が要るものは、人が残るべき部分です。
まとめ:まず「いちばん多い1通」から
メール自動送信は、道具を選ぶ前に「4パターンのどれか」を決めると迷いません。予約送信と定型返信はGmail・Outlookの標準機能で今日から、期日リマインドと差し込み一斉送信はスプレッドシート+GASで。送信上限・特定電子メール法・SPF/DKIM/DMARCの3点だけ最初に押さえておけば、あとは件数が増えるほど効果が積み上がります。
最初に自動化するのは、月間で最も件数の多い1種類のメールで十分です。他の業務も含めて何から手を付けるべきかは業務自動化は何から始めるかを参考にしてください。
よくある質問
Q. 今使っているメール(Gmail/Outlook)のまま自動化できますか?
はい。GmailはGoogle Apps Script、OutlookはルールやPower Automateで、既存のアドレス・署名のまま自動化できます。メールソフトを乗り換える必要はありません。
Q. スプレッドシートからメールを自動送信するには何が必要ですか?
Googleアカウントとスプレッドシートだけです。GAS(Google Apps Script)はスプレッドシートの拡張機能から無料で使えます。宛先・件名・本文の列を作り、送信済みフラグを立てる関数を書き、時間トリガーを登録すれば定期送信になります。
Q. 一斉送信で迷惑メール扱いされないか心配です。
独自ドメインならSPF・DKIM・DMARCを設定し、1通ずつ間隔を空けて送る、画像だけの本文にしない、配信停止の導線を付ける、の4点で大半は防げます。少量のテスト送信で受信側の表示を確認してから本送信する進め方をおすすめします。
Q. Gmailで1日に送れる通数の上限は?
無料アカウントは1日500通、Google Workspaceは1日2,000通が目安です。GASから送る場合は無料アカウント100通、Workspace 1,500通と、Gmail本体より低い上限が別に設定されています。
Q. 送信履歴や「誰に送ったか」は残せますか?
残せます。スプレッドシート+GASなら送信日時を該当行に書き込む設計にするだけで、送信ログと二重送信防止を同時に満たせます。エラーが出た行に理由を書き、管理者へ通知メールを送る仕組みも追加できます。
