Outlook Expressの受信トレイからメールアドレスを取得する方法

このQ&Aのポイント
  • Outlook Expressの受信トレイからMSMAPI経由でメールの内容を取得するプログラムを作成しています。
  • mapiMess.RecipAddressを使用して取得するアドレスについて困っています。
  • ヘッダ情報を分解して目的のアドレスを取得できる方法を知りたいです。
回答を見る
  • ベストアンサー

Outlook Expressの受信トレイにあるメールから

Outlook Expressの受信トレイにあるメールから MSMAPI経由でメールの内容を取得するプログラムを作っています。 困っているのはmapiMess.RecipAddressを使って取得できる アドレスについてで、メールのヘッダ情報が以下のような場合… Reply-To: aaaa@a.co.jp, bbbb@b.co.jp mapiMess.RecipAddressで取得すると"aaaa@a.co.jp"が取得されます。 ですが、bbbb@b.co.jpの方を取得したいのです。 一方、ヘッダ情報が以下のような形式の場合 Reply-To: aaaa@a.co.jp, bbbb@b.co.jp To: bbbb@b.co.jp きちんと"bbbb@b.co.jp"が取得できます。 ヘッダ情報をPG側で分解して…とも思ったのですが、そもそも取得できるのでしょうか? もしくは、上記説明でいう"bbbb@b.co.jp"の方を取得できる方法はあるのでしょうか? もしお分かりの方がいらっしゃればご教授願います。 環境:WinXp(SP3)、VB2005+MSMAPI

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

 .NET の方の System.Net.Mail の MailMessage クラスには、そのものずばり ReplyTo プロパティがあるのですが、これもアドレスを一つしか返さない仕様になっています。  それでもしやと思って RFC を見たところ、Reply-To にはアドレスをひとつまでしか書けないことが分かりました。つまり、Reply-To に二つ以上のアドレスが書かれているメールは規格違反、ということになってしまいます。  規格違反のメールメッセージであっても処理できる出来合いのライブラリを探すのは、難しいかも知れません。

chappys
質問者

補足

ありがとうございます。 なるほど… 備わっている機能では厳しいのですね(´A`;) うーん… ヘッダ情報をゴソッと持ってこられるような方法があれば、 そこのところを自前で作ることもできるんですけどねぇ…。

その他の回答 (1)

回答No.1

 MSDN Library に RecipIndex で RecipAddress が返すアドレスを指定できる、とあります。 # 少し気になるのは、Reply-To のアドレスが RecipAddress に入るのかな、という点です。Reply-To は返信先なので受信者とは概念上異なるので。

参考URL:
http://msdn.microsoft.com/en-us/library/aa228553(VS.60).aspx
chappys
質問者

補足

回答ありがとうございます。 実はこれも試してみたんですが、 For i As Integer = 0 To mapiMess.RecipCount - 1 mapiMess.RecipIndex = i strMailAdr = mapiMess.RecipAddress   ※ここで取得したアドレスが"aaaa"じゃなければ…的な判定と処理 Next (略) これですと Reply-To: aのアドレス、bのアドレス(コレを取得したい) To: bのアドレス と「To:」の記述がある場合を除き、aのアドレスが取得されてしまいます。 メールのヘッダを調べてみても、取得したいメールアドレスが 「Reply-To」の部分にしか記述されていないのです。 なので、"送信元を求めている"というよりは、 "Reply-Toにあるアドレスを取得する"という表現の方が正しかったかもしれません。 すみません(;´Д`A

関連するQ&A

  • Procmail のレシピの記載方法

    やりたいことは下記の通りです。 メーリングリストであるaaaa@example.jp宛へ送られたメール のサイズが1MB以下の場合は、aaaa@example.jpへ転送され、 1MB以上だったら、ヘッダ情報(送信者名と件名のみ)だけを aaaa@example.jp宛へ転送し、元のメールは違うメーリングリストの bbbb@example.jpへ送られるようにしたい。 ただ、下記レシピでは、 1MB以上だったら、ヘッダ情報(送信者と件名のみ)だけが bbbb@example.jp宛へ転送され、元のメールはaaaa@example.jpへ 送られてしまいます。 やりたい事通りに実行するにはどこをいじればよいのかご教授 頂けますでしょうか。 -- :0 * < 1000000 ! aaaa@example.jp :0 h * > 1000001 ! bbbb@example.jp --

  • エクセルでメールアドレスと抽出したい

    同じセルに A1セルに AAAA@gmail.com BBBB@gmail.com と2つのメアドが入っている。 B1セルに AAAA@gmail.com C1セルに BBBB@gmail.com としたい場合どのようにやればいいでしょうか? どうぞよろしくお願いいたします。

  • Outlook 2007 (試用版)でメールのヘッダを見る方法は?

    表題のとおりなのですが、 Outlook 2007 (試用版)でメールのヘッダを見る方法がわからず、 悩んでいます。 なお、ここでヘッダと言っているのは、 差出人:・・・ 宛先:・・・ というヘッダではなくて、 以下のようなものです。 ======================================== Delivered-To: example@example.com ・・・(中略)・・・ Received: (qmail **** invoked by uid ***); 17 Jan 2007 **:**:** +0900 Date: 17 Jan 2007 **:**:** +0900 Message-ID: <example@example.com> To: example@example.com Subject: hogehoge Reply-To: example@example.com From: fugafuga <example@example.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit ======================================== Outlook2003の場合はわかったのですが、 2007になってインターフェースが結構変わってしまい、 わからなくなってしまいました。 よろしくお願いします。

  • outlook expressのメールバックアップとインポート

    XPでOE6を使用していましたが、PCの不具合により、メールをバックアップとり、PCをリカバリして、再度メールをインポートすることを試みています。 もともとリカバリ前は、アカウント3人分とってメールを使用していました。(メインユーザー、AAAAAA、BBBBBB) バックアップする時は、保存フォルダーを探して、まとめて保存フォルダーを外付けハードディスクにコピーしました。 コピー先を見ると、ちゃんと、メインユーザ、AAAA氏、BBBB氏で使用しているフォルダー(.dbx)が全てコピー出来たようにみうけれました。 その後、リカバリー後インポートみると、どうも、メインユーザーの分しかインポートできていませんでした。 どうすれば、AAAA氏、BBBB氏のメールもインポートできるのでしょうか。 ちなみに、AAAA氏、BBBB氏としてどのようなアカウント設定をしていたかは、正直覚えていません。 これでもなんとかならないでしょうか。 申し訳ございませんが、御存知の方御教示頂けますと幸甚です。 宜しくお願い致します。

  • 重複しているデータを取得したい

    [TBL_TEMP] ID 年月1  年月2 項目A  項目B -------------------------------------------- 1 200909 200910 aaaa bbbb 2 200807 200809 aaaa bbbb 3 200909 200910 aaaa bbbb 4 200909 200909 aaaa bbbb 5 200807 200809 aaaa bbbb 上記のようなデータがあり、年月1と年月2でグルーピングして、重複しているデータを抽出する場合は、以下のSQLでデータを取得できます。 SELECT MIN(ID),年月1,年月2 FROM TBL_TEMP GROUP BY 年月1,年月2 HAVING COUNT(1) >= 2 上記のSQLの場合、重複データの中でIDが一番小さいもののみが取得されるため、ID=1、2の2データが取得できます。 これを重複データ全件、つまり、ID=1,2,3,5のデータを取得するには、SQLをどのように書けばよいのかがわかりません。 どなたかアドバイスを頂けないでしょうか? よろしくお願いいたします。

  • Outlook Expressの受信トレーについて

    知人Aからのmailが受信トレーではなく送信済みトレーに格納されているが何故だろうか。対策を教えて欲しいとの知人Bからの質問を受け、調べてみましたが解らず、誰か対応策をご存知の方はおられませんか。知人A以外の者からのmailは全て受信トレーに入っているそうです。送信済みトレーのmailには転送の形跡もなく不可解です。送信者のmail設定に問題があるとすれば知人B以外のもののOEにも、送信済みトレーに格納されていなければなりませんがなっておらず、受信者Bの設定の何かではないかと考えるのですが、Bに言わせると、A以外は正常に受信していることであり原因不明です。原因と対策をお教え願います。

  • 変なメールが続々と…

    2日程前からわけのわからないメールが私のYahoo Mailの方にじゃんじゃん届くのですが、原因と解決方法をご存知の方いらっしゃいましたら、何とぞご教授を! というのは、他の人のメールのやりとりのようなものが私のアドレスに入って来るのです。 一番最後、に届いたメールのヘッダ部分を載せておきます。From部分はいろんな人から来る個人情報なので****としておきますが、誰からのメールも必ず『Reply-to:*******(この部分は微妙に変わる)@gaiax.easyml.com』と『To:<*******@gaiax.easyml.com> 』が入って来るのです。このReply-toって何でしょうか?gaiax.easyml.comがあやしくて、ネットで調べるとメーリングリストらしいのですが、全然身に覚えがありません。(ここの管理者のメアドもわかりません) メールの内容は『出会いサイト』の登録や、その中でのやりとり等です。 うっとおしくて困っていますので、よろしくお願いします! <ヘッダ部分> Reply-to:*******@gaiax.easyml.com From:"****" <****@****.****.ne.jp> To:<*******@gaiax.easyml.com> Subject:[jhdye34:00006] Re: メル友みっけ仮登録 Date:Mon, 11 Feb 2002 22:42:25 +0900

  • Outlook Express6で返信が違う人に送られる

    来たメールのヘッダですが Return-Path: <○△@ezweb.ne.jp> From: "山田花子" <○△@ezweb.ne.jp> Reply-To: =?ISO-2022-JP○○○==?= <●▲@ezweb.ne.jp> となっています。 この人に返信メールを送ると●▲@ezweb.ne.jpさんにメールが送られます。 なぜそうなるのか教えてください。 また対策もあるのでしょうか。

  • メールをBCCで受信したことの判定

    メールをBCCで送られたという判定はどうすればいいのでしょうか? ヘッダー情報の TO や CC に自分のメールアドレスがない場合でいけるかと思ったのですが、 メーリングリストで送られてきた場合のメールもTO や CC に自分のメールアドレスがないため どうしたらいいのかわかりません。 ヘッダー情報のある項目がこうなっていたら BCCであるといったような 情報があれば教えていただければと思います。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • chromeのブックマークとアカウント

    PCのchromeで私Aが aaaa@gmail.comでログインしていてブックマークバーが出ているとします。 ここで友だちBさんが遊びに来てaaaa@gmail.comをログアウトして自分のbbbb@gmail.comでログインするとします。予想でブックマークバーはBさんのものになると思いましたが以前私Aのブックマークです。Bさんのブックマークバーにするにはどうすればよいのでしょう