仕事用メールアドレスの受信確認をGoogle Apps Scriptで自動化する

, ,

本記事は広告が含まれる場合があります。

こんにちは。

いつもブログをご覧くださいまして、ありがとうございます。

ふと思いついたので、勢いでプログラムとブログ記事を書いています。
ですので、今からご説明するGoogle Apps Scriptのプログラムはまだ検証が不十分でし、問題がある時は内容を変更する可能性があります。

メールの受信確認を自動化したい

改めて解説する必要はないですが、ビジネス用途で使うメールアドレスの送受信がストップした場合、業務がストップするだけでなく、ビジネス機会損失へとつながる可能性があります。
毎回、手動でテストをするというのは面倒ですし、人間ですので忘れたり、後回しにするかもしれません。
そこで、Google Apps Script を使って、1週間や1ヶ月単位でテストメールを送信する作業を自動化してみました。

以下の2つのメールアドレスをご準備ください。

  • 対象メールアドレス
    • 主にお仕事で使うメールアドレス
      (独自ドメインでレンタルサーバーで運用しているケースが多いと思います)
  • エラー通知を受け取るメールアドレス
    • 仕事用とは別に個人で使っているGmailアドレスなどを指定してください。

対象のメールアドレスのメール送受信ができる場合には正常系として処理されますが、送受信できない場合には、エラー通知を受け取るメールアドレスにエラーメールが送信される仕組みです。

function sendTestEmail() {
    try {
        // 通常のメール送信
        var recipient = "your-email@example.com"; // 送信先のメールアドレス
        var subject = "メール受信テスト";
        var body = "これは定期的なメール受信テストです。\nメールが届いたら設定が正常です。\nこのメールは時間主導型トリガーを設定して、1週間または1か月単位で実行されています。";

        // テスト用に意図的にエラーをスロー
        //実際の運用環境に移行する際は、throw new Error を削除 or コメントアウトし、通常のメール送信処理としてください。
        throw new Error("テスト用のエラーです。これはメール送信エラーのシミュレーションです。");

        // メールを送信
        GmailApp.sendEmail(recipient, subject, body);

    } catch (error) {
        // エラーが発生した場合の処理
        var errorRecipient = "your-own-email@gmail.com"; // エラー通知を受け取るメールアドレス
        var errorSubject = "【エラー通知】メール送信に失敗しました";
        var errorBody = "以下の内容でエラーが発生しました。\n\n" +
                        "エラー内容: " + error.message + "\n" +
                        "発生時刻: " + new Date().toLocaleString() + "\n\n" +
                        "早急に設定をご確認ください。";

        // エラー通知メールを送信
        GmailApp.sendEmail(errorRecipient, errorSubject, errorBody);

        // ログにエラー内容を記録
        Logger.log("エラーが発生しました: " + error.message);
    }
}

このプログラムの使い方

ご準備いただいた2つのメールアドレスをそれぞれ置き換えてください。

  • “your-email@example.com” :仕事で使うメールアドレス
  • “your-own-email@gmail.com” :エラー通知を受け取るメールアドレス(仕事用とは別が望ましい)

次に、Google Apps Scriptで新しいプロジェクトを作成します。

  1. Google Drive上で「新規作成」→「Google Apps Script」を選択します。
  2. 上記のスクリプトを記述する
  3. ファイル名を「Automated-email-reception-testing.gs」、プロジェクト名「メール受信テスト自動化スプリクト」などわかりやすい名前で保存する
  4. トリガーの設定する
    • 「時計アイコン」(トリガー設定)をクリックし、sendTestEmail関数を選択。
    • 時間主導型トリガーを設定して、1週間または1か月単位で実行されるようにします。
  5. 動作確認
    • 設定が終わったら、一度スクリプトを手動で実行して動作確認を行います。
    • 上記のコードでは、throw new Error の部分の処理で意図的にエラーが発生すると思います。エラーの内容をご確認ください。
  6. 最後に、実際の運用環境に移行する際は、throw new Error を削除 or コメントアウトし、通常のメール送信処理としてください。

最後に

私自身もこれから実際に運用してみて、必要な改善をしていく予定です。
もし不具合など問題を発見された方がいらっしゃいましたら、教えていただけますと嬉しいです😃👋

お問い合わせはこちらから

南大阪を中心に活動しているシステムエンジニアです。これまでの経験から、ビジネス課題について一緒になって考え、課題解決のためにサポートさせていただきます。些細なご相談でも構いません。当方に期待することやご相談内容についてお聞かせください。

PAGE TOP