[..] _OutlookGetMail problème

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
FRANPOL38000
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 17 août 2016 21:58
Status : Hors ligne

[..] _OutlookGetMail problème

#1

Message par FRANPOL38000 »

Bonjour,

Je n'arrive toujours pas à trouver de solution à mes problèmes concernant la lecture de mes mails dans outlook.
Ainsi, j'ai opté cette fois-ci pour la solution qui me semblait la plus facile à mettre en place pour un novice comme moi, mais encore une fois, je n'y arrive pas :-(

Donc j'ai opté pour le l'UDF Outlook.au3 et je souhaite utiliser la fonction _OutlookGetMail pour obtenir dans un tableau tout les mails non lu.
Ci-dessous mon code :

Code : Tout sélectionner

$oOutlook = _OutlookOpen()
$xx=_OutlookGetMail($oOutlook,$olFolderInbox,False,"","","","","","",True,"",0)
_Arraydisplay($xx)
Une fenêtre (popup) s'ouvre avec pour titre folder et en contenu j'ai uniquement "Boîte de réception", mais malheureusement pas les mail

J'ai donc archivé les mails présent dans Outlook et essayé d'adapter le code comme ceci :

Code : Tout sélectionner

$oOutlook = _OutlookOpen()
$sFolder="C:\Users\FRANP\AppData\Local\Microsoft\Outlook\archive.pst"
$xx=_OutlookGetMail($oOutlook,$sFolder,False,"","","","","","",True,"",0)
_Arraydisplay($xx)
Mais là, il ne se passe plus rien.

Je ne comprends pas d'où peut provenir le problème.

Je vous remercie d'avance pour votre aide.
Teckos
Niveau 2
Niveau 2
Messages : 18
Enregistré le : mar. 18 sept. 2012 23:32
Status : Hors ligne

Re: [..] _OutlookGetMail problème

#2

Message par Teckos »

Bonjour, essaie ça, moi ça fonctionne chez moi :wink:
#include "Outlook.au3"
#include <Array.au3>

$oOutlook = _OutlookOpen()
$Non_lu = _OutlookGetMail($oOutlook, $olFolderInbox, True, "", "", "", "", "", "", True, "", 0)
Global $Tableau[100][2]

If Not @error Then
   For $i = 1 To $Non_lu[0][1]
      ConsoleWrite($i & " / " & $Non_lu[0][1])
      $Tableau[$i][0] = $Non_lu[$i][0]
      $Tableau[$i][1] = $Non_lu[$i][1]
   Next
   _ArrayDisplay($Tableau)
Else
   MsgBox(0, "Erreur", "Code erreur : " & @error)
EndIf
FRANPOL38000
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 17 août 2016 21:58
Status : Hors ligne

Re: [..] _OutlookGetMail problème

#3

Message par FRANPOL38000 »

Merci pour ce code, alors de mon coté apparaît une première popup avec pour titre "folder" et pour contenu "Boîte de réception".
Ensuite une deuxième popup apparaît avec pour titre "Erreur" et pour contenu"Code erreur :3".
:-(
FRANPOL38000
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 17 août 2016 21:58
Status : Hors ligne

Re: [..] _OutlookGetMail problème

#4

Message par FRANPOL38000 »

En lisant le manuel de l'UDF, l'erreur 3 correspond à l'erreur No Mail found/Folder not found.
J'ai donc essayé de préciser le chemin où sont stocké les mails mais maintenant j'ai l'erreur 5 (Mailfolder not found)

Code : Tout sélectionner

$oOutlook = _OutlookOpen()
		$sFolder = "C:\Users\FRANP\AppData\Local\Microsoft\Outlook\Outlblabla@outlook.com-00000009.pst" ;(chemin trouvé dans les propriétés d'Outlook)
		$Non_lu = _OutlookGetMail($oOutlook, $sFolder, True, "", "", "", "", "", "", True, "", 0)
		Global $Tableau[100][2]

		If Not @error Then
			For $i = 1 To $Non_lu[0][1]
				ConsoleWrite($i & " / " & $Non_lu[0][1])
				$Tableau[$i][0] = $Non_lu[$i][0]
				$Tableau[$i][1] = $Non_lu[$i][1]
			Next
			_ArrayDisplay($Tableau)
		Else
			MsgBox(0, "Erreur", "Code erreur : " & @error)
		EndIf
Avez-vous une idée ?

Est-il possible de lire un email avec l'UDF OutlookEX UDF qui est plus récent ? Je trouve pas de fonction GET Mail dans cet UDF, mais bon peut-être qu'il faut le faire différemment.
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: [..] _OutlookGetMail problème

#5

Message par jpascal »

Je te conseille d'utiliser cet UDF. ;-)

Le principe, définir le folder source :
$aFolderSource = _OL_FolderAccess($g_oOL, '', $olFolderInbox)
Puis pour récupérer les courriels non lus :
$aItems = _OL_ItemFind($g_oOutlook, $aFolderSource[1], $olMail, "[UnRead]=True", "", "", "EntryID,Subject,Body")

EntryID, Subject et Body sont les caractéristiques récupérées des courriels
$aItems[$iItem][0] correspond à EntryID, [1] à Subject, ...

Désolé de répondre rapidement, je ne suis que de passage.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Répondre