Page 1 sur 1
[..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 10:04
par amouna98
Bonjour,
Je reçois chaque jour une dizaine de mail avec des fichiers joints
et il faut que j'archive les fichier dans le bon dossier
je me demandais est ce que c'est possible avec autoit de vérifier la réception d'un mail ( avec un sujet type) et d'extraire le fichier joint?
Merci
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 10:14
par Iste
Il nous faudrait déja savoir comment vous recevez vos email.
Mais je pense, si vous utilisez un web mail, qu'il serait plus judicieu de passer a un vrai client mail comme ThunderBird qui est tout a fait capable de réaliser ce genre de trie.
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 11:26
par amouna98
Iste a écrit :Il nous faudrait déja savoir comment vous recevez vos email.
Mais je pense, si vous utilisez un web mail, qu'il serait plus judicieu de passer a un vrai client mail comme ThunderBird qui est tout a fait capable de réaliser ce genre de trie.
j utilise outlook. !!
je pense que je peux avoir une adress mail dedier dans la quelle je recevrai que ces mails mais est ce que c'est possible d'ouvrir un mail recuperer le fichier et marquer le mai comme lu !??!!??
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 13:23
par scorp84
Bonjour,
Il faut soit :
- Aller dans le menu : Outils > Règles et alertes
- Faire un clic droit sur ton message que tu veux classer et choisir "Créer une règle"
Pour ma part, je préfère la seconde solution car elle te propose par défaut l'expéditeur, le nom de l'objet et le destinataire et si tu veux, d'autres options, tu choisis [Options avancées].
Si tu n'y arrives pas, n'hésite pas à demander.
Amicalement.
BM
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 14:07
par amouna98
scorp84 a écrit :Bonjour,
Il faut soit :
- Aller dans le menu : Outils > Règles et alertes
- Faire un clic droit sur ton message que tu veux classer et choisir "Créer une règle"
Pour ma part, je préfère la seconde solution car elle te propose par défaut l'expéditeur, le nom de l'objet et le destinataire et si tu veux, d'autres options, tu choisis [Options avancées].
Si tu n'y arrives pas, n'hésite pas à demander.
Amicalement.
BM
merci scorp84 mais ca c pour creer une alete c tout
moi j'ai envie d'extraire les fichiers joints de ces mails
!!
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 16:26
par Yogui
Voir avec cet UDF :
http://www.autoitscript.com/forum/index ... 0mail&st=0
Ce doit être possible avec la fonction : _OutlookSaveMail ou _OutlookGetMail
sachant que cet UDF n'a été testé ni avec office 2007 ni 2010
Précision avec cet UDF il faut avoir outlook ouvert
Re: [..] détecter la récéption d'un mail
Posté : mar. 17 août 2010 17:37
par Yogui
J'ai trouvé cette page traitant de ce sujet :
http://www.tek-tips.com/faqs.cfm?fid=3894
et surtout ce bout de code :
► Afficher le texte
Code : Tout sélectionner
Local lcFilename,lcPath
lcPath='c:\savedattachments\'
If !Directory('c:\savedAttachments')
Md 'c:\savedAttachments' && Create the directory if it doesn't exist.
Endif
oOutLookObject = Createobject('Outlook.Application')
olNameSpace = oOutLookObject.GetNameSpace('MAPI')
myAtts=olNameSpace.GetDefaultFolder(olFolderInbox).Items
For Each loItem In myAtts
If loItem.attachments.Count >0 && Make sure there is an actual attachment.
For i = 1 To loItem.attachments.Count
lcFilename='
lcFilename = loItem.attachments.Item(i).filename
lcFilename = Alltrim(lcPath)+lcFilename
loItem.attachments.Item(i).SaveAsFile(lcFilename)
*loItem.Delete() && The option to delete the message once the attachment has been saved.
Next
Endif
Next
je me suis amusé avec pour le traduire en autoit (en gros j'ai ajouté des "$" devant les noms de variables
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
Local $lcFilename, $lcPath, $strsubject
$lcPath = 'c:\savedattachments\'
If Not FileExists('c:\savedattachments\') Then
DirCreate('c:\savedattachments\')
EndIf
$oOutLookObject = ObjCreate("Outlook.Application")
$olNameSpace = $oOutLookObject.GetNameSpace("MAPI")
$myAtts = $olNameSpace.GetDefaultFolder(6).items
_ArrayDisplay($myAtts)
For $loItem In $myAtts
If $loItem.attachments.Count > 0 Then
If $loItem.unread Then
For $i = 1 To $loItem.attachments.Count
$lcFilename = ''
$lcFilename = $loItem.attachments.Item($i).filename
; MsgBox(0, "", $lcFilename) ;pour debug
$lcFilename = $lcPath & $lcFilename
$loItem.attachments.Item($i).SaveAsFile($lcFilename)
Next
EndIf
EndIf
Next
J'ai ajouté un filtre sur les mails non lu
Reste à trouver un moyen de marquer les mails déjà traité en lu je vous laisse un peu chercher