2016-06-15 3 views
1

私はC#(フレームワーク3.5)を使用してExchange 2010のルーティングエージェントを構築しています 私は、電子メールアドレスを使用してユーザーを認証します。メールマッサージの受信者を配信グループタイプからそのメンバーの単一のメールアドレスに変更するルーティングエージェント

配布グループに電子メールを送信したときに問題が発生しました。 「To」フィールドがDグループの電子メールアドレスに設定されていて、サードパーティのアプリケーションで問題が発生しました。

どのように私はに送信される電子メールのマッサージのTOフィールドに変換することができますに[email protected]

を:[email protected]; [email protected]、.....

これは私のコードの一部ですが、 "to"フィールドを削除しようとしましたが、何も動作していないようです。

void ownRoutingAgent_OnResolvedMessage(ResolvedMessageEventSource source, QueuedMessageEventArgs messageEventArgs) 
     { 
      bool forwardToSeg = false; 

      if (true) EventViewerLogger.WriteInfo("FromAddress: " + messageEventArgs.MailItem.FromAddress.ToString()); 
      if (true) EventViewerLogger.WriteInfo("SecureSenders: " + m_SecureSenderAddress); 

      distGroupList = generateDistGroupList(); 


        //////////////////////////////////////////// 
        //Check if recepient is a distrebution group 

        Random rnd = new Random(); 
        int numOfUser = rnd.Next(0, senderAddresses.Length); 
        messageEventArgs.MailItem.FromAddress = new RoutingAddress(senderAddresses[numOfUser]); 

        // run over all recipients list 
        //foreach (EnvelopeRecipient recp in messageEventArgs.MailItem.Recipients) 
        //{ 
        foreach (MyClass disGrp in distGroupList) 
        { 
         // Checks if Recipients contain an e-mail group. 
         // if yes, does not route to seg. 
         if (messageEventArgs.MailItem.Message.To[0].NativeAddress.ToString().ToUpper() == disGrp.emailAdress.ToUpper()) 

         { 
          messageEventArgs.MailItem.Message.To[0].NativeAddress.Remove(0); 
          messageEventArgs.MailItem.Message.To.Remove(new EmailRecipient(messageEventArgs.MailItem.Message.To[0].DisplayName.ToString(),messageEventArgs.MailItem.Message.To[0].NativeAddress.ToString())); 

          foreach (EnvelopeRecipient yywx in messageEventArgs.MailItem.Recipients) 
          { 
           //remove group address from mail-recipients 


           // messageEventArgs.MailItem.Message.To.Add******* 
           //  = messageEventArgs.MailItem.Recipients 


           //add all group members to the "TO" field 


           //messageEventArgs.MailItem.Recipients; 

          } 
       } 
      } 

答えて

0

AddressBookクラスを使用して、転送エージェントでメッセージの受信者を展開または展開します。トランスポートエージェントのパフォーマンス面で非常にコストがかかるAD呼び出しを必要とするリストを展開する場合は、

関連する問題