Page 1 sur 1

[..] _OutlookGetMail problème

Posté : mer. 24 août 2016 15:12
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.

Re: [..] _OutlookGetMail problème

Posté : mer. 24 août 2016 16:35
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

Re: [..] _OutlookGetMail problème

Posté : mer. 24 août 2016 17:57
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".
:-(

Re: [..] _OutlookGetMail problème

Posté : mer. 24 août 2016 19:18
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.

Re: [..] _OutlookGetMail problème

Posté : mer. 07 sept. 2016 15:36
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.