
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.26 テストメール環境とBOMアラートフィルター: インストールと設定編
2024年07月11日配信
2025年04月25日更新
執筆者:山内 和朗
弊社製品「BOM for Windows」は、アラート通知や監視結果、ログの送信に電子メール(SMTP)を使用します。このブログで構築したテスト用メール環境は、BOMの動作確認や機能検証にもちろん利用可能です。今回は、BOM 8.0 SR1から製品に同梱されるようになった新ツール「アラートフィルター」を、テスト用メール環境で試用してみました。
アラートフィルターの仕様やシステム要件については、以下の製品コラムをご覧ください。
製品コラム|What’s new in BOM 8.0 SR1: #1 アラートフィルター
前回は、アラートフィルターの前提となるOSSコンポーネントをインストールする前準備の段階まで行いました。今回は、いよいよアラートフィルター本体のインストールです。
今回、BOMのアラートフィルターをセットアップするのは、前回、BOMをインストールしたのと同じサーバーです。既にWSL 2(Ubuntu)のテスト用メール環境を導入済みで、以下のメールアドレスを持つローカルユーザーが作成されており、メールクライアント(例:Thunderbird)もセットアップ済みです。
テスト用メール環境をLAN上の別のサーバーで動作させている場合は、そのサーバー側でポートプロキシとWindowsファイアウォールを設定し、メール送受信用のIPアドレスを確認しておいてください。今回はローカルのテスト用メール環境を使用するため、メールクライアントの送受信メールサーバーの設定としてはlocalhost(127.0.0.1)を使用しています。
この前々回のBOMと同じサーバーにBOMのアラートフィルターをインストールしてセットアップするのですが、今回はアラートフィルターの設定を分かりやすくするため、ローカルのHosts(C:¥Windows¥System32¥Drivers¥Etc¥Hosts)ファイルに以下の行を追加し、送信用SMTPメールサーバー「smtp.mylab.test」、受信用POPサーバー「pop.mylab.test」、受信用IMAPサーバー「imap.mylab.test」を別名として利用できるようにしています(画面1)。
127.0.0.1 localhost smtp.mylab.test pop.mylab.test imap.mylab.test |
画面1 テスト用メール環境のIPアドレスを別名で名前解決できるようにHostsファイルを設定した(この設定は分かりやすくすることが目的であり、必須ではない)
アラートフィルターのパッケージや動作環境はすべて、「<BOMインストールパッケージ>¥TOOLS¥AlertFilter」に格納されています。この「AlertFilter」フォルダーを、十分な空き容量があるドライブ(今回の例ではD:ドライブを使用)にフォルダーごとコピーします。
コマンドプロンプトを開き、「AlertFilter」フォルダーのコピー先パスに移動したら、次のコマンドラインを実行します(画面2)。
D:¥AlertFilter> poetry install |
画面2 「AlertFilter」フォルダーのコピー先に移動して、アラートフィルターのインストールを開始する
インストールが完了したら、同じコマンドプロンプトで次のコマンドラインを実行します。新たにコマンドプロンプトが開き、“インスタンスのリクエスト待機開始”と表示されたら、アラートフィルターの起動は完了です。アラートフィルターのログを出力するこのウィンドウは、閉じずにそのままにしておきます(画面3)。
D:¥AlertFilter> StartAlertFilter.bat |
画面3 アラートフィルターを起動する
メモ: アラートフィルターの停止と再開についてインストール済みで動作中のアラートフィルターの停止方法と、再開方法を覚えておきましょう。
|
アラートフィルターを起動して最初にするべきことは、管理者(admin)パスワードの変更です。初期パスワードは、初回起動時に「AlertFilter」フォルダーのコピー先に作成されるテキストファイル「store¥INITIAL_SECRET_WORDS」に記載されています。
Microsoft Edge(または任意のブラウザー)で「http://localhost(またはコンピューター名):8888/login」または「https://localhost(またはコンピューター名):8888/login」に接続し、初期パスワードを使用してユーザー名「admin」でログインします(画面4)。ログインしたら、ページ右上のメニューから「パスワード変更」を選択して、パスワードを変更してください(画面5)。
画面4 アラートフィルターのログイン画面に接続し、初期パスワードを使用してadminユーザーでログインする
画面5 初期パスワードを変更する。次回ログインからは変更後のパスワードを使用
アラートフィルターは定期的にフィルター前のメールボックスにPOPで接続し、すべての受信メールをダウンロードします。この時、受信メールサーバー側のメールは削除されます。次にアラートフィルターは、ダウンロードしたメールを、フィルター条件と突き合せ、転送する(フィルターしない)かしない(フィルターする)かを決定し、最終的なメールの宛先にフィルターされなかったメールを転送します。アラートフィルターは、ダウンロードしたすべてのメールと、転送したすべてのメールをデータ(EML形式)で保存します。今回の例では、ダウンロードメールを「D:¥AlertFilter¥data」、転送メールを「D:¥AlertFilter¥sended」に保存するように設定します(※これらのフォルダーは事前に用意しておく必要があります)。
これらの設定は3つのJSONファイルに定義します。今回のテスト用メール環境の場合は、次の3つのJSONファイルを作成します。ファイル名は任意です。また、JSONファイル内の"pop.mylab.test"と"smtp.mylab.test"は"127.0.0.1"に置き換えることができます。アラートフィルターはMicrosoft 365を含むさまざまな認証に対応していますが、使用可能な認証設定については「<BOMインストーラーパッケージ>Documents¥Manual¥BOM8-アラートフィルターユーザーズマニュアル.pdf」を参照してください。
mail_pop.json
mail_smtp.json
mail_transfer.json ※パスの区切り文字である円記号(¥)は2つ続けること
3つのJSONファイルを作成したら、コマンドプロンプトを開き、次の3つのコマンドラインを実行してアラートフィルターに登録します。各コマンドラインの実行結果に、緑色で示した応答が含まれていれば登録は成功です(画面6)。
C:¥> curl -Ssi --insecure -X POST -H "content-type:application/json" -u admin:bomadmin -d @<パス>¥mail_pop.json "http://localhost:8888/mail/config/" ・・・ C:¥> curl -Ssi --insecure -X POST -H "content-type:application/json" -u admin:bomadmin -d @<パス>¥mail_smtp.json "http://localhost:8888/mail/config/" C:¥> curl -Ssi --insecure -X POST -H "content-type:application/json" -u admin:bomadmin -d @<パス>¥mail_transfer.json "http://localhost:8888/config/" ・・・ |
画面6 3つのJSONファイルにアラートフィルターの設定を定義し、Curlコマンドでアラートフィルターに登録する
アラートフィルターへの設定の登録が完了したら、もうアラートフィルターは動き出しています。ただし、まだフィルターを1つも定義していないため、すべてのメールが転送される状態です(画面7)。
画面7 まだフィルターを作成していないため、「collector@mylab.test」宛のメールはすべて「guardian@mylab.test」に転送される(collector@mylab.test側のサーバー上のメールはアラートフィルターによるダウンロードで削除される)
メモ: アクティベーションコードの適用についてアラートフィルターを運用環境に導入する場合は、製品のアクティベーションコードの入手と適用が必要です。アクティベーションコードを適用しない場合、評価用コードが自動適用され、以下のような制限がかかります。
アクティベーションコードの適用方法については、「<BOMインストーラーパッケージ>Documents¥Manual¥BOM8-アラートフィルターユーザーズマニュアル.pdf」を参照してください。 |