Question

J'ai deux serveurs: S1 est Exchange2010 S2 est Exchange 2007

Les deux serveurs sont dans le même domaine dans Activedirectory.

L'idée est d'avoir un "compte de service" sur S1 avec une usurpation d'identité compatible des utilisateurs des deux serveurs. Mon application utilise des informations d'identification du "compte de service", puis commence à parcourir une liste d'adresses SMTP. Il imite chaque adresse SMTP et effectue un traitement sur le contenu de la boîte aux lettres de ce compte.

C'est une théorie, il est maintenant temps pour les problèmes.

Je peux me connecter en tant que compte de service et peut accéder à sa boîte aux lettres, mais lorsque j'essaie d'accéder à la boîte aux lettres de l'utilisateur imitable, je reçois une exception disant que "l'adresse SMTP n'a aucune boîte aux lettres qui lui est associée". Et l'exception se produit pour les deux serveurs.

J'ai commencé à déboguer et à Google sur les raisons possibles et de rien, j'ai changé ceci:

svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, smtpAddress);

dans ceci:

svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, smtpAddress);

Et cela a fonctionné, ce qui est très étrange car il y a un mois, je n'avais pas une configuration différente avec un seul serveur et en utilisant SMTPADdress Enum fonctionnait et mon administrateur jure que la configuration de l'identité est exactement la même.

Maintenant, si quelqu'un pouvait me fournir quelques conseils sur les raisons pour lesquelles je ne peux pas utiliser ConnectingIdType.smtpaddress et ce que je devrais faire pour le rendre possible?

Était-ce utile?

La solution

Bien sûr, il s'est avéré que l'administrateur avait fait quelque chose de différent pour ma configuration actuelle. Le nouvel environnement a une politique selon laquelle le nom de compte est différent de l'adresse SMTP pour un compte et SMTP a un point entre le nom et le nom de famille d'un utilisateur. Ainsi, par exemple sur Old Config, je pourrais usurper l'identité d'une user100@example.com, peu importe le connexion que j'ai choisi, mais sur un nouvel environnement, je dois définir le type d'identification approprié selon que si j'utilise SMTP ou le nom de compte comme ID usurpères.

J'espère que cela aidera au cas où l'administrateur de quelqu'un d'autre "n'a rien changé" aussi :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top