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 に二つ以上のアドレスが書かれているメールは規格違反、ということになってしまいます。
規格違反のメールメッセージであっても処理できる出来合いのライブラリを探すのは、難しいかも知れません。
この回答への補足
ありがとうございます。
なるほど…
備わっている機能では厳しいのですね(´A`;)
うーん…
ヘッダ情報をゴソッと持ってこられるような方法があれば、
そこのところを自前で作ることもできるんですけどねぇ…。
No.1
- 回答日時:
MSDN Library に RecipIndex で RecipAddress が返すアドレスを指定できる、とあります。
# 少し気になるのは、Reply-To のアドレスが RecipAddress に入るのかな、という点です。Reply-To は返信先なので受信者とは概念上異なるので。
参考URL:http://msdn.microsoft.com/en-us/library/aa228553 …
この回答への補足
回答ありがとうございます。
実はこれも試してみたんですが、
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- その他(メールソフト・メールサービス) ドメイン間違えでエラー送信メールが来ない 1 2022/05/10 18:44
- Visual Basic(VBA) VBA Twitter 高度な検索 日付 単語 リンクをOutlook で送信 2 2022/06/18 18:36
- 兄弟・姉妹 きょうだいの何番目で生まれたかによって、性格的な傾向が変わるというこの記事、記事はそれを上手く説明で 5 2022/11/20 18:09
- Amazon Keepaの使い方に付いての質問です。 アメリカAmazonで使いたいと思います。 最初に言語の選択 1 2023/04/07 02:18
- PHP phpのエラーについて 1 2022/06/27 22:30
- その他(IT・Webサービス) [PayPay銀行キャッシュカード拾得の件] このメールは本物か? 6 2022/09/15 21:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF文、条件分岐の整理方法
-
VBAコードのインデント表示
-
【ExcelVBA】値を変更しながら...
-
Excel VBA 選択範囲の罫線色の...
-
VBA 別ブックからコピペしたい...
-
時間短縮のために、テキストフ...
-
エクセルのマクロについて教え...
-
ワードVBA どの表か知ることは...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
久しぶりのプログラミング
-
エクセルVBA
-
Excelのマクロについて教えてく...
-
VBA 別ブックから条件に合うも...
-
エクセルのVBAコードについて教...
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クライアントのIPとマシン名を...
-
グローバルIPアドレスの取得。
-
HttpClientを利用してのサービ...
-
Perlでの$ENV{REMOTE_ADD}の信...
-
prologでの数式の簡単化
-
ホームページの更新日時の取得
-
perlの環境変数 ENV{'REMOTE_A...
-
プロキシ経由でNet::FTPを利用...
-
社外からのアクセスかどうか判...
-
Outlook Expressの受信トレイに...
-
IPとホスト名の変換について
-
携帯端末向け サーバサイドCook...
-
socket使用時の環境変数(REMOT...
-
プロキシサーバ経由を拒否したい
-
リファラーの取得方法
-
mod_rewriteの環境変数を埋め込...
-
LOGON_USER
-
URLConnection Timeoutエラー
-
webサーバでクライアントを特定...
-
NULLGWDOCOMOって何ですか??
おすすめ情報