FAQ C#Consultez toutes les FAQ

Nombre d'auteurs : 41, nombre de questions : 272, dernière mise à jour : 16 août 2017  Ajouter une question

 

Cette FAQ a été réalisée pour répondre aux questions les plus fréquemment posées concernant C# sur le forum Développement DotNET

Je tiens à souligner qu'elle ne garantit en aucun cas que les informations qu'elle contient sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, lisez ceci .

Sur ce, je vous souhaite une bonne lecture.

Commentez cette FAQ : Commentez


SommaireOfficeOutlook (3)
précédent sommaire suivant
 

Gestion de l'évènement d'arrivée d'un mail dans le répertoire Inbox de Outlook

Code c# : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Import des bibliotheques 
using Outlook = Microsoft.Office.Interop.Outlook; 
using Redemption; 
  
//Voir question précédente  
Outlook.Application m_ObjOutlookApp = new Outlook.ApplicationClass(); 
Outlook.NameSpace n = m_ObjOutlookApp.GetNamespace("mapi"); 
Redemption.RDOFolder f; 
Redemption.RDOSessionClass rdoSession = new Redemption.RDOSessionClass(); 
rdoSession.MAPIOBJECT = n.MAPIOBJECT; 
f = rdoSession.GetDefaultFolder(rdoDefaultFolders.olFolderInbox); 
  
// Gestion de l'évènement OnNewMail 
rdoSession.OnNewMail +=new IRDOSessionEvents_OnNewMailEventHandler(rdoSession_OnNewMail); 
  
  
// Méthode de récupération de l'évènement d'arrivée du nouveau mail 
private void rdoSession_OnNewMail(string EntryID) 
{ 
    // À coder  
}

Mis à jour le 15 janvier 2007 ensemblevide

Pour ce faire, nous utiliserons Outlook et la Dll de Outlook Redemption. Cette dernière permet d'enlever la confirmation d'autorisation par un code externe à Outlook. Ce code permet de récupérer uniquement les mails présents dans le répertoire Inbox. L'ajout des références « Microsoft Excel 11.0 Object Library » ainsi que celle de « Outlook Redemption » sont nécessaire.

Code c# : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Import des bibliothèques 
using Outlook = Microsoft.Office.Interop.Outlook; 
using Redemption; 
  
//  Créer une instance d'Application Outlook 
Outlook.Application m_ObjOutlookApp = new Outlook.ApplicationClass(); 
// Récupérer le NameSpace 
Outlook.NameSpace n = m_ObjOutlookApp.GetNamespace("mapi"); 
//  Récupérer le Repertoire Rdo (Redemption) 
Redemption.RDOFolder f; 
  
Redemption.RDOSessionClass rdoSession = new Redemption.RDOSessionClass(); 
rdoSession.MAPIOBJECT = n.MAPIOBJECT; 
  
// Récupération du répertoire Inbox (rdoDefaultFolders est un enum, d'autres répertoires sont disponibles) 
f = rdoSession.GetDefaultFolder(rdoDefaultFolders.olFolderInbox); 
  
foreach (Object Item in f.Items) 
{ 
    // Création d'un item RDOMailClass 
    RDOMailClass rdom = ((RDOMailClass)Item); 
    // rdom est un mail a proprement parler. Les propriétés accessibles sont par exemple : SenderEmailAddress,Body,Subject ... 
}

Mis à jour le 15 janvier 2007 ensemblevide

Pour ce faire, nous utiliserons Outlook. Ce code permet de récupérer uniquement les contacts présents dans le répertoire Contacts. L'ajout de la référence « Microsoft Excel 11.0 Object Library » est nécessaire.

Code c# : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Import des bibliothèques 
using Outlook = Microsoft.Office.Interop.Outlook; 
  
// Créer une instance d'Application Outlook 
Outlook.Application m_ObjOutlookApp = new Outlook.ApplicationClass(); 
// Récuperér le NameSpace 
Outlook.NameSpace n = m_ObjOutlookApp.GetNamespace("mapi"); 
// Récupérer le Repertoire Contact 
Outlook.MAPIFolder f = n.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts); 
foreach (Object Item in f.Items) 
{ 
    if(Item is Outlook.ContactItem) 
    { 
        Outlook.ContactItem ct =  ((Outlook.ContactItem)Item); 
        /* On récupère ct objet de type ContactItem... voir la liste des propriétés */ 
    } 
}

Mis à jour le 19 janvier 2007 ensemblevide

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -