IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème sur informations de mails situés dans un "public folder"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut Problème sur informations de mails situés dans un "public folder"
    Bonjour,

    Voici mon problème.

    j'essaie de developper un programme qui me permet de récuper des infos qui se trouve dans les mails.

    Le sujet du mail, l'email de l'emmeteur, et la date de reception.

    Tous les mails se trouve dans le meme dossier, un dossier public.

    Pour l'objet du mail aucun problème, j'arrive à tous les récuperer, par contre pour certains mail j'ai un problème avec l'emmeteur et la date. Et j'ai une erreur qui s'affiche.

    ("Error HRESULT E_FAIL has been returned from a call to a COM component.")

    Voici le bout du code concerné .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public static void messagesPublicFolders(Outlook.Application o)
    {
    Outlook.MAPIFolder inboxFolder2 = o.GetNamespace("MAPI").GetDefaultFolder(Outlook.OlDefaultFolders.olPublicFoldersAllPublicFolders
    );
    Outlook.MAPIFolder inboxFolder3 = inboxFolder2.Folders["...."];
    Outlook.MAPIFolder inboxFolder4 = inboxFolder3.Folders["...."];
    Outlook.MAPIFolder inboxFolder5 = inboxFolder4.Folders["...."];
    Outlook.MAPIFolder inboxFolder = inboxFolder5.Folders["...."];
    Console.WriteLine("Boite de réception : {0} e-mails.", inboxFolder.Items.Count);
    Console.WriteLine();
     
    Outlook.Items inboxItems = inboxFolder.Items;
    for(int i=1; i<= inboxItems.Count;i++)
    {
    object item = inboxItems[i];
     
    string Subject = item.GetType().InvokeMember("Subject", System.Reflection.BindingFlags.GetProperty, null, item, null).ToString();
    Console.WriteLine(Subject);
     
    try
    {
    string Sendername = item.GetType().InvokeMember("SenderName", System.Reflection.BindingFlags.GetProperty, null, item, null).ToString();
     
    Console.WriteLine(Sendername);
    }
    catch (Exception e)
    {
    Console.Error.WriteLine(e.InnerException.Message);
    }
     
    try
    {
    string Receivedtime = item.GetType().InvokeMember("ReceivedTime", System.Reflection.BindingFlags.GetProperty, null, item, null).ToString();
    Console.WriteLine(Receivedtime);
    }
    catch (Exception e)
    {
    Console.Error.WriteLine(e.InnerException.Message);
    }
    }
    J'ai remarquer une différence entre les sujet des mails, et le nom de l'emmeteur. Quand le programme C# veut acceder au nom de l'emmeteur, j'ai une boite de dialogue outlook qui s'ouvre et qui me demande l'accès à la boite. Je dois alors choisir le temps d'accès authorisé. 1/2/5 ou 10 min.


    Merci

    Edouard

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    J'ai trouvé le problème. En fait c'etait du à une surcharge de la mémoire, et j'ai ajouté une ligne Marsharl.ReleaseComObject(item); pour purger la mémoire à chaque fois.

  3. #3
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Salut Emzed,

    Je travaille sur une appli qui utilise powerpoint et je suis tombé sur la même erreur que toi : Error HRESULT E_FAIL has been returned from a call to a COM component.

    J'ai jeté un coup d'oeil pour utiliser la class Marshall et fermer proprement mon application, mais cela ne résoud pas mon problème.

    Le code fonctionnait bien avant une mise à jour de Windows et l'installation d'office 2007.
    J'ai essayé de référencé directement les DLL en les copiant collant dans mon /bin au lieu de les référencer via l'onglet .Net de visual studio; mais sans succès.

    Si quelqu'un a une idée ça serait super!
    Merci d'avance

  4. #4
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Le problème venait du fait que j'avais des appli d'office 2003 installées en même temps que certaines appli d'office 2007. Cela créait une incompatibilité.
    J'ai désinstallé tous les programmes d'office (toutes versions) et réinstallé proprement. L'erreur a disparue.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008] Problème sur utilisation bcp pour export dans fichier texte
    Par dimitrak dans le forum Outils
    Réponses: 2
    Dernier message: 06/07/2015, 08h09
  2. [OL-2007] enregistrement d'informations du mail enregistré dans un fichier exell
    Par jasserin dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 05/03/2015, 19h07
  3. [OL-2010] Mails envoyés provenant d'un public folder à rediriger vers celui-ci
    Par tetsunochin dans le forum VBA Outlook
    Réponses: 36
    Dernier message: 17/04/2014, 16h47
  4. Réponses: 10
    Dernier message: 18/05/2011, 14h56
  5. [PEAR][Mail] [Mail_Mime] problème sur la version texte de mon mail
    Par yiannis dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 21/12/2005, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo