KuriKumaChan’s diary

Kuri ちゃんと Kuma ちゃんの飼い主の独り言

NAS の HDD高温アラートをメール送信(QNAP Notification Center) - Gmail → Outlook

NAS は外観は単なる四角い箱ですが中身は「サーバー」なので、さまざまなイベントが発生しています。 私が使っている QNAP の TS-453Be では設定したイベント(アラート)通知はメール発信する設定にはしてあるのですが、実はメール発信自体がエラーになっていてアラートをメールで知ることができない状態をずっと放置していました。 
ところが最近あるエラーが頻発していたので ChatGPT に手伝ってもらってメール発信エラーの原因を明らかにして通知のメール送信ができるように設定した、というお話です。

暑さで NAS に警告が発生していたのに気づかなかった!

NAS のコンソール (QTS) にはたまにログインしているのですが、ダッシュボードに通知が溜まっていることがわかり(🔔マーク)、QuLog Centger のイベントログを見るとたくさんの HDD 高音アラートが出ていることが分かりました。

HDD#1 が 51℃になっているぞ!

内蔵している HDD は2種類あり、 5,400rpm のもの (WD80EFZX x2)は 30℃台、 7,200rpm のもの (WD80EFBX x2) は 40℃台というのがいつもの状態なのですが、50℃を超える、と言うことは今まで無かったと思います。50℃超えの真の原因は夏の高温化なのか HDD の劣化なのか?などは難しいところではありますが、とりあえず NAS のカバーを外して運用するということで回避しつつ対応を検討するとして、こう言った通知はやはり即時に知りたいものです。

今までのメール発信設定 (Gmail 発信) - 動作していないのを放置

QNAP の NAS には各種ログを整理する機能の QuLog Center 以外に、設定したイベントを通知する Notification Center があり、こちらで管理者などへの通知方法を設定できます。

Notification のアラート送信方法

現在の Notificatin Center には私は Gmail のアカウントを送信者 SMTP アカウントとして登録してあったのですが、テストメールを送信するボタンを押すと、

テスト電子メールを送信できません。電子メール設定およびネットワーク接続を確認してください。

というあまり役だなたなそうなエラーメッセージが出ていて、踏み込んで調べてみる気も出ず放置していました...

テストメール送信の段階でエラーとなっていた。

メール発信エラーの分析 by ChatGPT

今回の HDD の発熱問題によって、NAS にログインしないとアラートの発生すら知ることができないようでは、もしログインできなければ何も分からず手も足も出しようが無い!と危機感を高めて、せめてアラートメールくらいちゃんと送信できるようにしよう!と腹を括りました。
腹を括った、と言っても ChatGPT に調べてもらうだけなのですが、相談してみれば今回もちゃんと役に立ってくれました。

ChatGPT - エラーの分析

ChatGPT に入力したエラー情報は上の「テスト電子メールを送信できません。電子メール設定およびネットワーク接続を確認してください」が表示された画像に若干のコメントを書いたのみで、以下のアドバイスを得られました。

✅ 1. ネットワーク接続の確認
✅ 2. Gmail の SMTP 設定確認
✅ 3. アプリパスワードの使用(最重要)
Googleは、通常のパスワードを使用するサードパーティアプリからのアクセスを 制限 しています。次の設定が必要です:

🔐 アプリパスワードの作成方法 1. Googleアカウントにログイン
https://myaccount.google.com/security
2. 「2段階認証プロセス」を有効にする
3. 有効後、「アプリ パスワード」が表示されるので選択
4. アプリ:「メール」、デバイス:「QNAP」など任意の名前で作成
5. 表示された16桁のアプリパスワードを控える
6. QNAP の Gmail 設定において「パスワード」の欄に このアプリパスワード を入力する
✅ 4. テストメール送信
✅ 5. Gmail 側のブロック解除(念のため)

ChatGPT - アプリパスワードが不可欠と言う

ここで(最重要) とされているアプリパスワードというものは設定した記憶がありませんでした。早速これも ChatGPT に教えてもらいながらGoogle アカウント」のセキュリティ設定からアプリパスワードの生成に進みます( "Gmail" の設定ではありません)。

Google アカウントの設定画面 (これは Google workplace アカウントのもの)

今ひとつ分かりにくいですが、
「Google にログインする方法」>「2段階認証プロセス」
と進んだ先にアプリパスワードの設定がありました。

Google - アプリパスワードはお勧めしないと宣う

手順通り進めることはできたのですが、「アプリパスワードは推奨されておらず」と示されています。

この画面はすでにアプリパスワードを設定済みの状態

この先でもさらに推奨しない!と念押しされてしまいます。

さらにアプリパスワードは勧めない!と念押しされる。

それでも一応はアプリパスワード作成くらいは経験しておこうと作成した上で、ChatGPT に念の為に確認してみます。
「Google で アプリパスワードは非推薦とされていました。Notification Center から gmail あてのメールを発信するためにはアプリパスワードは必須ですか?」

冷静に後で考えると正確には「gmail 宛のメール」ではなく「gmail を送信元 SMTPアカウントとしたメール」なのですが、ChatGPT はそれを分かっていながらあえて指摘しないのか?アバウトに無視しているのか分かりませんが、以下のように教えてくれます。

とても良いご指摘です。

✅ 結論:はい、QNAP の Notification Center から Gmail 宛にメールを送信するには、Google アカウントの「アプリパスワード」が現時点で ほぼ必須です。

🔒 背景:なぜアプリパスワードが必要か?

Google は 2022年5月以降、以下のような方針を取っています:

ポリシー変更 内容
「安全性の低いアプリの許可」機能の廃止 通常のパスワード+SMTPでの認証は全面禁止になった
推奨認証方法 OAuth 2.0 認証のみ(GmailやOutlookなど一部のアプリが対応)
例外措置 OAuthに未対応なデバイスには「アプリパスワード」で対応可

QNAP の Notification Center は OAuth 2.0 に非対応です。 したがって、GmailのSMTP認証に対応させる唯一の方法がアプリパスワードです。

✅ アプリパスワードを使いたくない場合の代替案

Google 公式としては、アプリパスワードの使用を非推奨とし、OAuth 2.0 に対応したメールクライアントの使用を推奨しています。しかし、QNAP Notification Center では以下の選択肢があります:

方法 内容 備考
✅ アプリパスワードを使う 最も確実で現在唯一実用的な方法 2段階認証+アプリパスワード要設定
🔁 他の SMTP リレーを使う Gmail 以外のSMTP(Outlook, iCloud, 自前SMTP)を使う Gmail にこだわらないなら選択肢あり
🔁 Gmail API を使って自作スクリプトを用意 Python などで Gmail API + OAuth を使った通知スクリプトを作る QNAPの標準機能を使わない方法

ということで、とりあえず Gmail のアプリパスワードを作成する経験をした上で立ち止まりました。

メール発信の再設定

ChatGPT はアプリパスワードを使うことが「最も確実で現在唯一実用的な方法」とは言いますが、ここは Google 側の非推奨の意見を採用して別の方法を試してみることにしました。

Outlook を送信側 SMTP アカウントに設定してみる

「 Gmail API を使って自作スクリプトを用意」案というのもあったのですが、NAS はサーバーといっても Raspberry Pi のような自由自在のサーバーではなく、セキュリティに厳しい Linux (QTS) で動いているので自作スクリプトを動かすのは長期的な解決策にはなかなかなり得ないと考えました。
残るは「Gmail 以外のSMTP(Outlook, iCloud, 自前SMTP)を使う」案で、セカンダリとして使っている outlook を用いることにしました。

設定方法としては gmail 設定の時と同じで Notification center の「送信者」に outlook のアカウントを指定するだけです。

「送信者」に outlook アカウントを設定

しかし最初は何か手が滑ったのかエラーになってしまいました。

outlook を指定した1回目

いきなりのエラーで面食らいましたが、何か操作を誤ったような気がして再度チャレンジすると、outlook (Microsoft) 側の確認ダイアログが表示され、ok を押して進めると設定完了。

2回目では outlook (Microsoft) 側の確認ダイアログが表示された。

テストメールの受信ができた

この後無事?HDD高音注意のアラートメールも受信することができるようになりました。

実際に送られてきた高音注意のアラートメール

やっぱりメールより slack にするかな...

とりあえず数年間放置していた「NAS のアラートメールを送信できない」問題は解決しましたが、冷静に考えると今どきメールがベストか?という気がします。そもそも SMTP なんてお世話にならずに api か webhook で設定できますので、やっぱりメッセージアプリの方が良い気がします。ただ一番身近な LINE ではメッセージの管理機能が全くないといって良いので、アラートの受信となると slack に集めるのが一番かな、とか考え始めるともう一手間かけたくなってきたくなります。

しかし所詮仕事として会社の責任を背負った仕事ではないし、たいした量のアラートが送られてくるわけではないので当面メールによる通知のまま運用しておこうと思います。通知方法の工夫より HDD の高音状態の解消の方が優先度が高いはずですし...