私は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;
}
}
}