0

私はExchangeと対話するためにEWSを使用しています。受信メールを見つけたら、そのメッセージのカスタム拡張プロパティーを自分のデータベースのIDと関連付けるように設定しました。そのプロパティは交換のために保存され、後で交換を照会するときに値を取得できます。しかし、Outlookでアイテムを開いたときに見出しが表示されません。電子メールのプロパティには表示されません。これが目に見えるようにするために何か特別なことはありますか?既存のアイテムのExtendedPropertyをヘッダーに表示するにはどうすればよいですか?

ここに私のコードです:

var propertyDefinition = new ExtendedPropertyDefinition(
     DefaultExtendedPropertySet.InternetHeaders, "X-My-Property", 
     MapiPropertyType.String); 

//(ExchangeService.FindItemsからアイテムを取得)今= ...

// Set the property on the exchange item 
item.SetExtendedProperty(propertyDefinition, myId.ToString()); 

// Update the server 
item.Update(ConflictResolutionMode.AlwaysOverwrite); 

VARアイテムIは、引き換えにアイテムを見たとき、私はヘッダーに 'X-My-Property'が表示されることを期待していますが、私はそうではありません。

私はこのコードを使用していたため値、取得することができます。私は私が送る新しい電子メールのプロパティを設定するために同じコードを使用している場合、私はときに、プロパティを参照してください

foreach (var prop in item.ExtendedProperties) 
{ 
    if (prop.PropertyDefinition.Name == "X-My-Property" && prop.Value != null) 
    { 
     return propValue = prop.Value.ToString(); 

    } 
} 

をその電子メールが受信されます。送信済みアイテムのメッセージではなく、他の受信ボックスに到着したメッセージに表示されます。

答えて

1

MIMEヘッダーが更新される唯一の時間は、メッセージの送信または受信中です。あなたのコードが行っているすべての拡張プロパティを設定しています(これは、送信時にメッセージヘッダーに昇格されます)ここに多くの説明がありますhttps://msdn.microsoft.com/en-us/library/office/hh545614(v=exchg.140).aspx

あなたがOutlookで見えるのはあなたも変更できるPR_Transport_headersプロパティですがMIMEコンテンツには影響しません。とにかくいつでもEWS経由でアクセス可能なプロパティを見ることができることが重要です。

+0

ありがとう@GlenScales。私はメッセージが見えるようにして、エンドユーザーが問題が予想通りに動かない場合にトラブルシューティングの理由でIDを確認できるようにしたかったのです。それは大きな要件ではありません、私はそれが可能であればいいと思っただけです。あなたの答えに応じて、それは不可能なので、私は拡張プロパティとして残しておきます。 – Rory

関連する問題