本記事は広告が含まれる場合があります。
こんにちは。
いつもブログをご覧くださいまして、ありがとうございます。
ふと思いついたので、勢いでプログラムとブログ記事を書いています。
ですので、今からご説明する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で新しいプロジェクトを作成します。
- Google Drive上で「新規作成」→「Google Apps Script」を選択します。
- 上記のスクリプトを記述する
- ファイル名を「Automated-email-reception-testing.gs」、プロジェクト名「メール受信テスト自動化スプリクト」などわかりやすい名前で保存する
- トリガーの設定する
- 「時計アイコン」(トリガー設定)をクリックし、
sendTestEmail
関数を選択。 - 時間主導型トリガーを設定して、1週間または1か月単位で実行されるようにします。
- 「時計アイコン」(トリガー設定)をクリックし、
- 動作確認
- 設定が終わったら、一度スクリプトを手動で実行して動作確認を行います。
- 上記のコードでは、throw new Error の部分の処理で意図的にエラーが発生すると思います。エラーの内容をご確認ください。
- 最後に、実際の運用環境に移行する際は、throw new Error を削除 or コメントアウトし、通常のメール送信処理としてください。
最後に
私自身もこれから実際に運用してみて、必要な改善をしていく予定です。
もし不具合など問題を発見された方がいらっしゃいましたら、教えていただけますと嬉しいです😃👋
お問い合わせはこちらから
南大阪を中心に活動しているシステムエンジニアです。これまでの経験から、ビジネス課題について一緒になって考え、課題解決のためにサポートさせていただきます。些細なご相談でも構いません。当方に期待することやご相談内容についてお聞かせください。