Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook
Outlook Forum d'entraide sur Microsoft Office Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2007, 16h36   #1
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 0
Points : 0
Par défaut Recuperation de plein de mails -> MAPI_E_TOO_BIG

Je renouvelle ma question sur mon probleme de MAPI_E_TOO_BIG.

J'ai essayer d'ouvrir une RDO.session sur le serveur de mail et ensuite de recuperer seulement les PR_ENTRYID et les PR_MESSAGE_DELIVERY_TIME pour en utilisant getRow de MAPITable afin d'eviter de recuperer trop de donnees en meme temps.

Le probleme est que a chaque fois j'ai un message d'erreur me disant MAI_E_TOO_BIG. Meme en essayant de recuperer les mails 20 par 20 et en recreeant un objet MAPITABLE.

Comment faites-vous pour recuperer pleins de mails dans votre inbox ?

Merci a tous
bart21ab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 16h49   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Que veux-tu faire exactement ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 17h21   #3
Invité de passage
 
Inscription : avril 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 2
Points : 0
Points : 0
Pour optimiser la lecture de milliers de mails que je peux avoir dans mon inbox j'ai voulu utiliser la classe MAPItable du package Redemption et utiliser par la suite Table.getRow pour recuperer les parametres que je voulais (sender, subject, date ...) vu que getRows peut retourner des erreurs.

voila comment j'ai fait :

Code :
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
42
oSession = CreateObject("Redemption.RDOSession")
oSession.LogonExchangeMailbox("umonitor", PropBoxAddress)
PropFolder = oSession.GetDefaultFolder(6)   //repertoire Inbox
 
Dim Table = CreateObject("Redemption.MAPITable")
Dim PR_SUBJECT = &H37001E
        Dim PR_SENDER_NAME = &HC1F001E
        Dim PR_BODY = &H1000001E
        Dim PR_MESSAGE_DELIVERY_TIME = &HE060040
        Dim PR_ENTRYID = &HFFF0102
 
Table.Item = PropFolder.Items //je recupere tous les mails du repertoire inbox
Columns(0) = PR_ENTRYID
Columns(1) = PR_MESSAGE_DELIVERY_TIME
 
Table.Columns = Columns
        Table.Sort(PR_MESSAGE_DELIVERY_TIME, False)
        Table.GoToFirst()
 
        While PropFolder.Items.Count > 0
 
           For i As Integer = 0 To 20  //recuperation 20 par 20 
 
                '     Table.Item = PropFolder.Items
                Row = Table.GetRow
                If (Row Is Nothing) = False Then
                    entryID = Row(0)
                    strEntryID = utils.HrArrayToString(Row(0))
                    mail = oSession.GetMessageFromID(strEntryID)
                    listOfEmails.Add(mail )
                    mail.move(PropArchiveFolder) // je deplace le mail une fois que j'ai recuperer tous les parametres voulu dans un autre repertoire
 
Table = Nothing
                  Table = CreateObject("Redemption.MAPITable")
                    Table.Item = PropFolder.Items
                    Columns(0) = PR_ENTRYID
                    Columns(1) = PR_MESSAGE_DELIVERY_TIME
                    Table.Columns = Columns
                    Table.Sort(PR_MESSAGE_DELIVERY_TIME, False)
                    Table.GoToFirst()
end if
          next

et la ca marche tres bien jusqu'a un certain temps ou j'ai une erreur MAPI_E_TOO_BIG !!!!! Grrr !
bart21ab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h40.


 
 
 
 
Partenaires

Hébergement Web