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

Dedel209 29 Messages postés samedi 31 janvier 2009Date d'inscription 14 août 2014 Dernière intervention - 2 oct. 2013 à 14:00 - Dernière réponse : BunoCS 13841 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 23 mai 2018 Dernière intervention
- 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

Dedel209 29 Messages postés samedi 31 janvier 2009Date d'inscription 14 août 2014 Dernière intervention - 4 oct. 2013 à 01:16
0
Utile
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
BunoCS 13841 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 23 mai 2018 Dernière intervention - 4 oct. 2013 à 09:15
0
Utile
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.