GASを使ったメールの自動返信|Gmailで不在通知や定型文を送る方法


GASを使って、Gmailなどメールの自動返信を設定したい場合もあるかもしれません。手作業で一つひとつ返信する必要がなくなるため、業務の効率化にもつながりますよね。筆者は社内だけでなく顧客ともやり取りをしている立場ですが、休日で溜まったり処理するだけで30分ほどかかったりと困っていました。Google Apps Scriptを利用してメールの自動返信ができると、長期休暇中に届いたメールに不在通知を返したり、問い合わせに対して定型文で案内を返すといった用途で役立てることも可能です。今回は、GASを使ったメールの自動返信のやり方を、不在通知や定型文の応用まで具体的なサンプルコードを交えてご紹介します。



メールを自動的に送信する方法はこちら




◎GASでメールを自動返信する基本的な仕組み

GASでメールを自動返信する仕組みはどのようなものなのでしょうか。まず、GmailAppを利用して受信メールを取得し、返信内容を指定して送信します。最も基本的なサンプルコードは以下の通りです。

function AUTOREPLY() {
 const THREADS = GmailApp.getInboxThreads(0, 5);
 for (let i = 0; i < THREADS.length; i++) {
  const MESSAGE = THREADS[i].getMessages()[0];
  const SENDER = MESSAGE.getFrom();
  GmailApp.sendEmail(SENDER, "自動返信", "お問い合わせありがとうございます。後ほどご連絡いたします。");
 }
}


このスクリプトでは、受信トレイの最新5件のメールに対して、自動的に返信が行われます。ただし、そのまま実行すると同じ相手に何度も返信してしまうため、実際の運用では「ラベルを付与して一度だけ返信する」といった工夫が必要です。どのように応用していくのが良いのかをみていきましょう。


◎不在通知としてメール自動返信を使う方法


長期休暇や出張でメールを確認できないとき、自動返信で不在通知を送ると便利です。GASを使えば、Gmail標準の自動返信機能よりも柔軟に設定できます。たとえば送信相手や件名に条件を付けて、不在通知を返すかどうかを制御することも可能です。

function AWAYONVACATION() {
  const THREADS = GmailApp.search('is:unread newer_than:1d'); 
  for (let i = 0; i < THREADS.length; i++) {
    const MSG = THREADS[i].getMessages()[0];
    const FROM = MSG.getFrom();
    GmailApp.sendEmail(FROM, "不在通知", 
      "恐れ入りますが、本日休日or休業中のため、すぐにご返信できません。次回の出勤日or営業日に改めてご連絡いたします。");
    THREADs[i].addLabel(GmailApp.getUserLabelByName("autoReplied"));
  }
}


「未読かつ1日以内のメール」に対して、不在通知を返信するという仕組みです。さらにラベルを付与することで、同じメールに重複して返信するのを防げます。休暇中や長期の休業などに、有効な使い方です。


◎定型文を自動返信する応用例


自動返信は不在通知だけでなく、問い合わせに対して定型文を返す用途にも適しています。たとえば「資料請求」や「セミナー参加希望」といったメールに対して、あらかじめ準備しておいた返信を自動で送れます。

function TEMPLATEREPLY() {
  const THREADS = GmailApp.search('subject:"資料請求"');
  for (let i = 0; i < THREADS.length; i++) {
    const MSG = THREADS[i].getMessages()[0];
    const FROM = MSG.getFrom();
    GmailApp.sendEmail(FROM, "資料請求ありがとうございます", 
      "このたびは資料をご請求いただきありがとうございます。以下のリンクからダウンロードしてください。https://curlpingnosiawase.com/how-to-use-gas-a-guide-on-how-to-get-started-google-apps-script-and-set-up-triggers");
    THREADS[i].addLabel(GmailApp.getUserLabelByName("autoReplied"));
  }
}


この例では「件名に『資料請求』が含まれるメール」を条件に、資料ダウンロードのリンクを返信しています。条件を変更すれば、さまざまな問い合わせに対応可能です。よくある質問に対して標準的な回答を返しておき、後から詳細なフォローを行うといった使い方も効果的でしょう。


◎GASでメール自動返信を使うときの注意点


便利な一方で、GASでメールの自動返信を使う際には注意も必要です。まず、トリガー設定によっては短時間で大量の返信が行われる可能性があります。Googleの送信制限に抵触すると、一時的にメール送信ができなくなることもあるため、対象を絞り込んだりラベルで管理する工夫が重要です。また、誤送信を防ぐために、最初は必ずテスト環境(自分のメールアドレスやサブアカウント)で動作を確認することをおすすめします。さらに、相手に自動返信であることを明示する文言を入れると、誤解を招くリスクも減らせるでしょう。効率化を狙う一方で、利用者に安心感を与える配慮も欠かせません。


◎まとめ


今回は、Google Apps Scriptを使ったメールの自動返信のやり方についてご紹介しました。基本的な仕組みを理解すれば、不在通知や問い合わせ対応など、さまざまな場面で応用できます。特にラベルや条件を組み合わせることで、同じ相手に何度も返信してしまうリスクを避けながら運用できる点は大きなメリットです。日常的に届くメールを効率よく処理し、他の業務に余裕を持って取り組めるようにしていきましょう。最後までお読みいただきありがとうございました。

Curlping