locked
ハブトランスポートルールで「メッセージヘッダーに特定の文字が含まれる」を使用したいがルールが適用されない RRS feed

  • 質問

  • 初めて質問させていただきます。

    Exchange2007で以下のルールを作成したのですが、うまく適用されません。

    ・メッセージヘッダーに特定の文字が含まれる
    →ヘッダー:X-Auto-Response-Suppress 文字列:AutoReply
    ・宛先またはCCにアドレスを含む
    →メールボックスAのアドレス
    ・件名を追加する
    →件名:[転送]

    上記の設定をしたのですが、うまくルールが適用されません。

    何をしたいかと申しますと、
    1.メールボックスAからメーリングリスト1へ転送設定をしている。
    2.メーリングリスト1にはメールボックスBとCがメンバとなっている。
    3.メールボックスAからメーリングリストに転送されたメールを区別するために、件名を追加したい。

    ルールで試したのは以下です。
    1.条件を「メーリングリスト1のメンバ」で件名追加を行うと、転送されたメールに件名は追加されるが、メールボックスBとCあてのメールにも件名が追加されてしまう。
    2.1のルールに例外として「宛先またはCCにメールボックスBとCのアドレスを除く」とすると、BCCでBとCに送られた場合も件名が付加されてしまう。
    →そのため、宛先とメッセージヘッダーで条件を指定しようと思ったのですが、うまくいきません。

    設定の方法が問題なのか、そもそもメッセージヘッダーではTo、CC、From等しか指定できないものなのでしょうか。
    Exchange2007歴半年です。説明がわかりにくいかと思いますが、ご教授いただければ幸いです。
    よろしくお願いいたします。
    2009年10月24日 5:32

回答

  • つい最近 自分も騙されていたのですが、

    「宛先フィールドに・・・」 とか 「宛先フィールドまたはCCフィールドに・・・」と
    「宛先が・・・」 が結構違っているのですよね。

    「宛先フィールドまたはCCフィールドに・・・」を使用してメールリダイレクトしてたら 同時配信されていた他の人に届かないというのに遭遇しまして。
    「宛先が・・・」にすると上手く行きました。

    「宛先がメールボックスA」を「メーリングリスト1にリダイレクトする」のような感じでどうですかね?

    多分、
    「宛先フィールドまたはCCフィールドに・・・」 はハブトランスポートが受け取った時点で メールヘッダの To:とCc:を処理するんだと思われ、
    「宛先が・・・」はこのTo:とCc:とメーリングリストの展開などをすべて行ったうえで、最終的に メールボックスに配信することになったメールに対して
    処理していると思われます。

    ちなみに「宛先が・・・」を使うと たとえ bccの指定でも最終配信先でそのメールボックスと決まれば ルールが適用されてリダイレクトなどの動作はうまく適用されます。
    今 気になってテストしてみましたが大丈夫の様子です。

    2009年10月25日 13:39
  • SHIMSOFT様

    ご返信ありがとうございます。
    検証までしていただき大変恐縮しております。
    また、職場で本サイトの閲覧ができないため返信が遅くなり申し訳ありません。

    ご提案いただいたルールで指定したところ、メールボックスAにもルールが適用されてしまうのと、メールB,Cには逆にルールが適用されないという状態になってしまいました。
    おそらく条件指定と例外処理に矛盾が生じているためかと思います。
    例外処理を外すと件名が追加されますが、やはりメールボックスAにも適用されてしまうので(転送していないのに件名が追加されてしまう)、トランスポートルールでの転送+件名追加は断念いたしました。

    また、最初にご質問した「ヘッダー:X-Auto-Response-Suppress 文字列:AutoReply」ですが、これはメーリングリストから転送した場合に付加されるヘッダーなので、
    メールボックスAという条件と該当のヘッダーで条件指定ができれば・・・と思っての質問でした。
    わざわざ検証までしていただき大変恐縮ですが、私の説明不足で誠に申し訳ありません。
    でも、このヘッダーは配布リストからメールボックスに送付された時点で付加されるヘッダーなので、トランスポートルールでは適用されないようです。
    また、条件指定での「メールヘッダー」で「BCC」も適用されないようです。
    考え方を変えて、以下の指定をしてみました。

    配布リストを「動的配布グループ」に登録し(今後の運用を考えての設定です)、条件を「宛先が動的配布グループの場合」とし、例外として「宛先にメールボックスBまたはCが含まれる場合を除く」としてみました。
    BCCにメールボックスB、Cを指定した場合、ルールが適用されてしまうのが欠点なのですが、これが精一杯なのかなぁと思っております。
    逆にBCCだから仕方ないのかしら?とも思いますが、ほかに要件を満たす設定が見つけられませんでした。
    さらにここから「BCCにメールボックスB、Cを指定した場合」の例外処理ができれば完璧なんですが、どうも無理みたいですね。

    いろいろとご指摘をいただき感謝しております。
    ありがとうございました。
    2009年10月29日 14:10

すべての返信

  • なんとなく
    「メールボックスAからメーリングリスト1へ転送設定をしている。」というここがトランスポートルールで設定しているなら
    そのルールで件名に追加すればよいのではないでしょうか?

    2009年10月25日 3:36
  • ご指摘ありがとうございます。
    説明不測で申し訳ありません。
    転送設定はトランスポートルールではなく、メールボックスのメールフローで設定しております。

    トランスポートルールでの処理として「BCCでコピー」や「リダイレクト」も考えましたが、
    その場合「メールボックスA」にBCCで送信されたメールが「メーリングリスト1」に送信されないので、メールボックスでの設定にしております。

    いろいろと考えているのですが、宛先等に関わらず、「転送設定しているメールすべて」に「件名を追加する」というルール設定は可能なのでしょうか?

    2009年10月25日 7:51
  • つい最近 自分も騙されていたのですが、

    「宛先フィールドに・・・」 とか 「宛先フィールドまたはCCフィールドに・・・」と
    「宛先が・・・」 が結構違っているのですよね。

    「宛先フィールドまたはCCフィールドに・・・」を使用してメールリダイレクトしてたら 同時配信されていた他の人に届かないというのに遭遇しまして。
    「宛先が・・・」にすると上手く行きました。

    「宛先がメールボックスA」を「メーリングリスト1にリダイレクトする」のような感じでどうですかね?

    多分、
    「宛先フィールドまたはCCフィールドに・・・」 はハブトランスポートが受け取った時点で メールヘッダの To:とCc:を処理するんだと思われ、
    「宛先が・・・」はこのTo:とCc:とメーリングリストの展開などをすべて行ったうえで、最終的に メールボックスに配信することになったメールに対して
    処理していると思われます。

    ちなみに「宛先が・・・」を使うと たとえ bccの指定でも最終配信先でそのメールボックスと決まれば ルールが適用されてリダイレクトなどの動作はうまく適用されます。
    今 気になってテストしてみましたが大丈夫の様子です。

    2009年10月25日 13:39
  • 返信が大変遅くなりました。
    SHIMSOFT様のおっしゃるとおり、「宛先が・・・」で指定するとルールが適用されました。
    ですが、いくつか問題があり、悩んでいます。

    1.運用上、同じようにメールボックスからメーリングリストへの転送設定(メールフローでの設定です)をしているものが複数存在するため、
    転送依頼があるたびにルールを作成するのは・・・と思っております。

    2.トランスポートルールで「宛先が・・・」と条件を設定し、処理に「件名を追加する」とした場合、メールボックスAでもメールを使用するため、メールボックスAに届いたメールにはルールを適用させたくないのです。

    3.さらに、条件の「宛先」を「メーリングリストのメンバ」とし、例外として「宛先フィールドまたはCCフィールドの受信者のいずれかがBとCの場合を除く」としても、
    BCCでBとC宛てにメールを送信すると、転送されていないにもかかわらず、ルールが適用されて[転送]と、件名が追加されてしまいます。

    そのため、最初に記載しましたが、
    メッセージヘッダーに特定の文字が含まれる「ヘッダー:X-Auto-Response-Suppress 文字列:AutoReply」を指定したいと思ったのですが、この部分がうまく適用されません。
    やはり、トランスポートルールでリダイレクトもしくはBCCでコピーをする以外に方法はないのでしょうか?

    「メッセージヘッダーに特定の文字が含まれる」の条件を設定する方法をご教授いただければ幸いです。
    2009年10月27日 13:32
  • M_Aさん

    実際のところ メールの転送設定をトランスポートルール以外で設定してみたことなかったので、
    ダミーのメールボックスを作成し、メールボックス側の転送設定(転送先を自分のメールアドレスに、且つそのメールボックスにもそのまま配信するのチェックボックスオン)し、
    メール転送された結果を確認してみました。

    実験した結果、
    そもそも論として 転送されたメッセージに「X-Auto-Response-Suppress」というヘッダ情報は付与されていません。
    ちなみに トランスポートルールで振り分けたメッセージも特に 普通に送信されたメールと簡単に識別可能なヘッダ情報は自動的に付与されていません。

    この実験結果から言えば、
    メッセージヘッダーに特定の文字が含まれる「ヘッダー:X-Auto-Response-Suppress 文字列:AutoReply」を指定
    というロジックの根底がダメかもしれません。

    M_Aさんのところでは この転送されたメールに確実にこのヘッダがあるのでしょうか?????


    多分転送設定ごとにトランスポートルールを以下のような設定をすることになると思います。
    ※ この条件指定の検証は行っていません。何故? と言われると すみません としか言いようが無いのですが(^^;)
    条件:
    宛先が[ユーザ]の場合
    処理:
    件名の先頭に[文字列]を追加する
    および メッセージを[ユーザ]にコピーする
    例外:
    "宛先"フィールドまたはCCフィールドの受信者のいずれかがが[配布リスト]のメンバの場合を除く
    または [メッセージヘッダ]に[テキストパターン]が含まれる場合を除く


    設定例
    ※ メールボックスA (userA@domain.local)、メールボックスB (userB@domain.local)、メールボックスC (userC@domain.local)
    メーリングリスト1(mlist1@domain.local)
    条件:
    宛先がメールボックスA の場合
    処理:
    件名の先頭に【転送】 を追加する
    および メッセージをメーリングリスト1 にコピーする
    例外:
    "宛先"フィールドまたはCCフィールドの受信者のいずれかががメーリングリスト1 のメンバの場合を除く
    または bccuserBまたはuserCまたはmlist1 が含まれる場合を除く

    おそらく仮定の通りの条件なら上手く行きそうな気がします。
    2009年10月28日 1:19
  • SHIMSOFT様

    ご返信ありがとうございます。
    検証までしていただき大変恐縮しております。
    また、職場で本サイトの閲覧ができないため返信が遅くなり申し訳ありません。

    ご提案いただいたルールで指定したところ、メールボックスAにもルールが適用されてしまうのと、メールB,Cには逆にルールが適用されないという状態になってしまいました。
    おそらく条件指定と例外処理に矛盾が生じているためかと思います。
    例外処理を外すと件名が追加されますが、やはりメールボックスAにも適用されてしまうので(転送していないのに件名が追加されてしまう)、トランスポートルールでの転送+件名追加は断念いたしました。

    また、最初にご質問した「ヘッダー:X-Auto-Response-Suppress 文字列:AutoReply」ですが、これはメーリングリストから転送した場合に付加されるヘッダーなので、
    メールボックスAという条件と該当のヘッダーで条件指定ができれば・・・と思っての質問でした。
    わざわざ検証までしていただき大変恐縮ですが、私の説明不足で誠に申し訳ありません。
    でも、このヘッダーは配布リストからメールボックスに送付された時点で付加されるヘッダーなので、トランスポートルールでは適用されないようです。
    また、条件指定での「メールヘッダー」で「BCC」も適用されないようです。
    考え方を変えて、以下の指定をしてみました。

    配布リストを「動的配布グループ」に登録し(今後の運用を考えての設定です)、条件を「宛先が動的配布グループの場合」とし、例外として「宛先にメールボックスBまたはCが含まれる場合を除く」としてみました。
    BCCにメールボックスB、Cを指定した場合、ルールが適用されてしまうのが欠点なのですが、これが精一杯なのかなぁと思っております。
    逆にBCCだから仕方ないのかしら?とも思いますが、ほかに要件を満たす設定が見つけられませんでした。
    さらにここから「BCCにメールボックスB、Cを指定した場合」の例外処理ができれば完璧なんですが、どうも無理みたいですね。

    いろいろとご指摘をいただき感謝しております。
    ありがとうございました。
    2009年10月29日 14:10
  • こんにちは、フォーラムオペレーターの三沢健二です。

    SHIMSOFT さん、ご丁寧なアドバイスありがとうございました。

    それでは、SHIMSOFT さんに案内いただいた内容が参考になられたようですので、私の方で [回答としてマーク] を付けさせていただきました。


    今後とも、TechNet フォーラムをよろしくお願いします。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2009年11月16日 9:15
    モデレータ