Récupérer la liste des contacts EXCHANGE 2010 [Résolu]

Messages postés
29
Date d'inscription
samedi 31 janvier 2009
Dernière intervention
14 août 2014
- - Dernière réponse : BunoCS
Messages postés
14280
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
12 décembre 2018
- 4 oct. 2013 à 09:15
Bonjour à tous,

Pour l'instant j'arrive à me connecter au serveur EXCHANGE et d'interroger les mails dans la boite de réception.

Ce que je voudrais réussir à faire c'est de retirer les contacts présents dans cette mailbox.

Merci d'avance pour votre réponse.

Voici mon code :

static void Main(string[] args)
        {
            ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
            {
                // If the certificate is a valid, signed certificate, return true.
                if (errors == System.Net.Security.SslPolicyErrors.None)
                {
                    return true;
                }
                // If there are errors in the certificate chain, look at each error to determine the cause.
                if ((errors & System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors) != 0)
                {
                    if (chain != null && chain.ChainStatus != null)
                    {
                        foreach (System.Security.Cryptography.X509Certificates.X509ChainStatus status in chain.ChainStatus)
                        {
                            if ((certificate.Subject == certificate.Issuer) &&
                               (status.Status == System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.UntrustedRoot))
                            {
                                // Self-signed certificates with an untrusted root are valid.
                                continue;
                            }
                            else
                            {
                                if (status.Status != System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.NoError)
                                {
                                    // If there are any other errors in the certificate chain, the certificate is invalid,
                                    // so the method returns false.
                                    return false;
                                }
                            }
                        }
                    }
                    // When processing reaches this line, the only errors in the certificate chain are
                    // untrusted root errors for self-signed certificates. These certificates are valid
                    // for default Exchange Server installations, so return true.
                    return true;
                }
                else
                {
                    // In all other cases, return false.
                    return false;
                }
            };
 
            ExchangeService _service = new ExchangeService(ExchangeVersion.Exchange2010);
            _service.Credentials = new WebCredentials("user", "password");
            _service.Url = new Uri("https://mail.domain.be/ews/exchange.asmx");
 
            //Mail dans mailbox
            FindItemsResults<Item> findResults =  _service.FindItems(
            WellKnownFolderName.Inbox, new ItemView(10));
 
            foreach (Item item in findResults.Items)
                Console.WriteLine(item.Subject);
            Console.ReadLine();

             //CONtact mailbox
            foreach (Contact contact in _service.FindItems(WellKnownFolderName.Contacts, new ItemView(int.MaxValue)))
            {
                Console.WriteLine(contact);
            }

--
Afficher la suite 

Votre réponse

2 réponses

Messages postés
29
Date d'inscription
samedi 31 janvier 2009
Dernière intervention
14 août 2014
0
Merci
Voici la solution :

 static void Main(string[] args)
        {
 
 
            ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
            {
 
                if (errors == System.Net.Security.SslPolicyErrors.None)
                {
                    return true;
                }
 
                if ((errors & System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors) != 0)
                {
                    if (chain != null && chain.ChainStatus != null)
                    {
                        foreach (System.Security.Cryptography.X509Certificates.X509ChainStatus status in chain.ChainStatus)
                        {
                            if ((certificate.Subject == certificate.Issuer) &&
                               (status.Status == System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.UntrustedRoot))
                            {
 
                                continue;
                            }
                            else
                            {
                                if (status.Status != System.Security.Cryptography.X509Certificates.X509ChainStatusFlags.NoError)
                                {
 
                                    return false;
                                }
                            }
                        }
                    }
 
                    return true;
                }
                else
                {
 
                    return false;
                }
            };
 
 
 
            ExchangeService _service = new ExchangeService(ExchangeVersion.Exchange2010);
            _service.Credentials = new WebCredentials("user", "password");
            _service.Url = new Uri("https://mail.domain.com/ews/exchange.asmx");
 
            //Contact mailbox
            ContactsFolder contactsfolder = ContactsFolder.Bind(_service, WellKnownFolderName.Contacts);
 
 
            int numItems = contactsfolder.TotalCount < int.MaxValue ? contactsfolder.TotalCount : int.MaxValue;
 
 
            ItemView view = new ItemView(numItems);
 
 
            view.PropertySet = new PropertySet(BasePropertySet.IdOnly, ContactSchema.DisplayName);
 
 
            FindItemsResults<Item> contactItems = _service.FindItems(WellKnownFolderName.Contacts, view);
 
 
            foreach (Item item in contactItems)
            {
 
                if (item is Contact)
                {
                    Contact contact = item as Contact;
                    Console.WriteLine(contact.DisplayName);
 
                }
 
            }
 
            Console.ReadLine();
 
        }


--
Commenter la réponse de Dedel209
Messages postés
14280
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
12 décembre 2018
0
Merci
Hello,
C'est sympa de poster la solution, merci!
Puis-je indiqué le sujet comme résolu du coup?
Commenter la réponse de BunoCS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.