none
Exchange Server 2007に届いたメールをテキスト形式でファイルに抽出することは可能でしょうか? RRS feed

  • 質問

  • ある特定のユーザ宛てに届いたメールについて、メールヘッダ(本文はあってもなくても良い)を
    テキスト形式のファイルとして自動的に抽出したいのですが、可能でしょうか?
    可能であればどのような手段でできるのでしょうか?

    何らかのアプリケーションを作成し、ExchengeServer2007のメールボックスを定期的にチェックして
    新規メールがあればテキストファイルとして抽出する、というようなことを考えています。

    アプリケーションを作成しなくてもExchengeServerの設定でできる、ということであればそれが一番
    望ましいです。
    また、テキストファイルに抽出しなくても直接メールのヘッダ情報を取得できる、というのであれば
    その方法でも構いません。

    想定している利用用途は、メルマガのユーザ登録のために、ある特定のユーザ宛に空メールを送って
    もらい、送られてきたメールのヘッダ情報を見て、送信してきたユーザに対して返信メールを自動的
    に送るというような内容です。

    よろしくお願いいたします。

    2009年4月1日 0:40

回答

  • ご要望されている直接の機能は Exchange にはありません。
    いつくかの機能をベースにどのように実現するかを考えてみるとよいと思います。

    1. トランスポートログを解析する
      トランスポートログの出力を詳細レベルにすると、使えそうな情報(メールヘッダー)が
      ログファイルに出力されます。
      受信コネクタが出力するトランスポートログを自前のアプリで解析し、送信元を特定すると
      いうわけです。
    2. 自力でがんばる
      MAPI プログラミングを行い自前アプリを作成する。
      Exchange MBX に接続し受信メールの解析を行い、必要な処理を実装する方法です。
      これだと、ヘッダーだけでなく、ボディもすべて取得できるので、自由度はありますが
      結構、大変です。
    3. ダミーユーザーを作成し、outlook の不在通知を代替えに使う。
      微妙ですね...。

    思い当たるのは、これくらいでしょうか。
    ただ、これだと、トランスポートログの形式がエンハンスで変更してしまうときついですね。
    すべて自己責任になってしまうような気もするのが痛いところです。
    MAPI プログラミングでがんばるしかないかな。
    frogfrog さんが考えているイメージは、2) に近いような気がします。

    2009年4月8日 1:11

すべての返信

  • ご要望されている直接の機能は Exchange にはありません。
    いつくかの機能をベースにどのように実現するかを考えてみるとよいと思います。

    1. トランスポートログを解析する
      トランスポートログの出力を詳細レベルにすると、使えそうな情報(メールヘッダー)が
      ログファイルに出力されます。
      受信コネクタが出力するトランスポートログを自前のアプリで解析し、送信元を特定すると
      いうわけです。
    2. 自力でがんばる
      MAPI プログラミングを行い自前アプリを作成する。
      Exchange MBX に接続し受信メールの解析を行い、必要な処理を実装する方法です。
      これだと、ヘッダーだけでなく、ボディもすべて取得できるので、自由度はありますが
      結構、大変です。
    3. ダミーユーザーを作成し、outlook の不在通知を代替えに使う。
      微妙ですね...。

    思い当たるのは、これくらいでしょうか。
    ただ、これだと、トランスポートログの形式がエンハンスで変更してしまうときついですね。
    すべて自己責任になってしまうような気もするのが痛いところです。
    MAPI プログラミングでがんばるしかないかな。
    frogfrog さんが考えているイメージは、2) に近いような気がします。

    2009年4月8日 1:11
  • こんにちは、フォーラムオペレーターの鈴木裕子です(^O^)/

    artglass さん、回答ありがとうございました!

    frogfrog さん、その後いかがでしたか?
    私のほうでも少し調べてみたりしたのですが、Exchangeでの設定など、標準機能ではちょっと難しそうかなと思いました。
    frogfrog さんご希望のような情報ではないかもしれませんが、同様の運用を検討している方には、ひとつの参考となる情報だと思いましたので、勝手ながら私のほうで[回答としてマーク]をつけさせていただきました。ただ、もし不適当と思われた場合は、遠慮なくチェックを解除してください。

    参考までに、どのような形で抽出されるかは確認していないのですが、単に「テキストファイルでデータを取得」ということでしたら、↓こんな情報も参考になるかもしれません。未確認ですが。。。

    Exchange 2007 メッセージをキューからエクスポートする方法 http://technet.microsoft.com/ja-jp/library/aa998625.aspx
    Message Tracking in Exchange Server 2007 http://technet.microsoft.com/en-us/library/cc539075.aspx
    Description of Message Tracking Log Fields http://technet.microsoft.com/en-us/library/cc539064.aspx

    また何かありましたらForumをご活用ください!
    マイクロソフト株式会社 フォーラムオペレーター 鈴木裕子
    2009年4月23日 6:02
    モデレータ