2012-03-23 5 views
3

クライアントはMicrosoft CRM 2011 Outlookクライアントを使用しており、独自のビジネスニーズがあります。彼らは、電子メールを送信するためにOutlookを使用しているすべての従業員にとって必須の設定を必須にしたいと思っています(Weird huh?)。電子メールを送信しているユーザーが設定を忘れると、Outlookは通知メッセージを表示し、ユーザーに電子メールを送信させるべきではありません。Crm 2011 Outlookクライアント - 設定に関連するもの

私はこれのためのボックス機能を見つけることができませんでしたので、私はOutlookアドインを書くことにしました。 Outlookのaddin ItemSendイベントでメール項目にフィールドに関する値が設定されていることを知る方法はありますか?私はCRM:xxxxxを含む電子メールの主題を得ることができますが、電子メールはまだCRMで作成されていないので、関連するデータを引き出す方法はわかりません。

答えて

3

追跡に関する情報は、メールのMAPIプロパティに格納されます。添付のスクリーンショットを参照してください。それらはItemSendイベントでアクセス可能でなければなりません。

あなたは(@Ahmedsコメントから)このよう

dynamic regardingId = mailItem.PropertyAccessor.GetProperty("schemas.microsoft.com/mapi/string/‌​;{00020329-0000-0000-C000-000000000046}/crmRegardingId/0x0000001F"); 

enter image description here

+0

素晴らしいです。あなたは私の日を救っただけです。この問題に直面する可能性のある他の人向け: dynamicId = mailItem.PropertyAccessor.GetProperty( "http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/crmRegardingId/0x0000001F") ; – Ahmed

+0

ありがとう@Ahmed。答えにコードを追加して、適切にフォーマットしました。 – ccellar

0

を、この情報を得ることができる私はに関するGUIDを取得するにはVS2012とOutlook 2010で、次のコードを使用していました。

dynamic id = mailItem.UserProperties["crmRegardingId"]; 
if (id != null) Console.Write(id.Value); 
else Console.Write("Error");