トリガーで取り出せる値について
回答済みご担当者様
Kompiraで受信したメールの情報から特定の値を取得して、
別のメールアドレスへ送信する際の設定について以下2点教えてください。
1.現在、トリガーに
・「message.content.text」から正規表現「aaaaaの\s*(\S+)のbbbbb」によって値をひとつ取り出して一時フィールド「eventalert」に保存する
という設定をしています。
これは例えばメール本文の中に
「aaaaaのイベントは明日のbbbbb」
という文言があった場合に「イベントは明日」という文字だけを取得して「eventalert」に保存することができます。
そしてこの「eventalert」をアクションのメールの中に
{{eventalert}}
と書くことで、「イベントは明日」という文字を抜き取って送信することができます。
同様に、メールの件名全体を抜き取りたいため
・「message.content.subject」から正規表現「\s*(\S+)」によって値をひとつ取り出して一時フィールド「eventsubject」に保存する
という設定をしたのですが
実際に「RE: 【監視アラート】ログ監視イベントが発生しました【COP35007_SUMMITDBTC:危険】【発生】」という件名のメールをKompiraに送ったところ
「RE:」の部分しか抜き取られませんでした。
そのためどのように設定すれば、メールの件名全体を抜き取れるのか教えてください。
2.また、メールの送信元アドレスを抜き取る時は同様に
・「message.metadata.from.email」から正規表現「\s*(\S+)」によって値をひとつ取り出して一時フィールド「eventfrom」に保存する
という設定でうまく抜き取れたのですが
メールの送信先アドレスと受信日時も抜き取ることはできるでしょうか?
以上、よろしくお願いします。
-
ご質問ありがとうございます。
回答させていただきます。・「message.content.subject」から正規表現「\s*(\S+)」によって値をひとつ取り出して一時フィールド「eventsubject」に保存する
という設定をしたのですが
実際に「RE: 【監視アラート】ログ監視イベントが発生しました【COP35007_SUMMITDBTC:危険】【発生】」という件名のメールをKompiraに送ったところ
「RE:」の部分しか抜き取られませんでした。
そのためどのように設定すれば、メールの件名全体を抜き取れるのか教えてください。メッセージの情報はそのままアクション内でお使いいただけますので、トリガーの方で特に設定せずに
{{message.content.subject}}
と入れていただければ件名全体を挿入可能です。
また正規表現「\s*(\S+)」による取り出しがうまくいかなかった理由についても触れておきますと、「\s」は空白文字に、「\S」は空白文字以外にマッチする指定となっており、今回は件名の「RE:」の後ろに半角スペースが挟まっていることから、「\S」とのマッチがそこで止まってしまったものと考えられます。
・「message.metadata.from.email」から正規表現「\s*(\S+)」によって値をひとつ取り出して一時フィールド「eventfrom」に保存する
という設定でうまく抜き取れたのですが
メールの送信先アドレスと受信日時も抜き取ることはできるでしょうか?こちらに関しても、送信元メールアドレスを取り出す場合はトリガー側での設定は不要で
{{message.metadata.from.email}}
とそのまま指定いただくことでも使用できます。
またメールの送信先アドレスに関しては、受信に使用した受信スロットのメールアドレスだけわかれば良い場合は
{{message.metadata.deliveredTo}}
より取得いただけます。
他の送信先も含めて取得する場合は「message.metadata.to」というフィールドが利用できますが、こちらには複数件の送信元情報が含まれる可能性がありますので、取り扱いが少々複雑になります。例えば改行で区切りつつ縦に並べる場合は下記のようになります。
{{#message.metadata.to}}
{{email}}
{{/message.metadata.to}}受信日時に関してはメールの Date ヘッダの情報を用いるのが一番簡単と思われます。こちらは下記の様に取得できます。
{{message.metadata.headers.Date}}
-
ただ、受信時間の
{{message.metadata.headers.Date}}
ですが9時間ずれているようでグリニッジ標準時間が表示されているようです。
これを日本時間で表示させることはできるでしょうか?時刻の時差変換やフォーマット変換に関しては現時点の AlertHub の機能においては不可能となります。こういった時刻周りの考慮に関しては利用シーンがかなり多いと認識しており、優先度高く対応ができるよう弊社開発には共有させていただきます。
代替手段として、 Date ヘッダは大概の場合メール送信をするソフトウェア側で付与されますので、お使いのメーラーやメール送信に使用しているツール、もしくはそれらを動かしている OS のタイムゾーン設定により日本時間での出力ができる可能性はございます。
仕様上・運用上の兼ね合いで難しいケースも多いとは思いますが、検討可能な様であればご使用の環境についてご確認ください。
ご不便をおかけいたしますが、何卒よろしくお願いいたします。
サインインしてコメントを残してください。
コメント
3件のコメント