Bonjour,
j'utilise vba outlook, pour exécuter un script qui permet à chaque nouveau mail, de consulter la boite de réception et de vérifier tous les éléments non lus (un à un) de récupérer le sujet de chaque mail et d'envoyer un mail vers un destinataire. le problème que je rencontre est le suivant.
j'ai un compte IMAP configuré et là l'action se déclenche à l'arrivé de chaque mail, bien qu'elle consulte la boite de recéption standard et non pas celle IMAP; pour vérifier que ça marche je met manuellement des élèment non lus dans la boite de récèption.
Maintenant le problème se pose quand je configure une adresse pop3, j'ai utilisé le même script sur un autre poste et ça ne marche pas, et même sur mon poste quand il s'agit d'un compt pop3 le process ne se déclenche plus.
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Private Sub Application_NewMail()
Dim MonApply As Outlook.Application
Dim MonMail As Outlook.MailItem
Dim MonMail1 As Outlook.MailItem
Dim MonNSpace As Outlook.NameSpace
Dim FldDossier As Outlook.Folder
Dim strInfos As String
'Instance des Objets
Set MonApply = Outlook.Application 'Application Outlook
Set MonNSpace = MonApply.GetNamespace("MAPI") 'Banque MAPI
Set FldDossier = MonNSpace.GetDefaultFolder(olFolderInbox)
strInfos = ""
'Boucle afin de parcourir l'ensemble des E-mails non lus présents dans le dossier Boîte de réception
For i = 1 To FldDossier.UnReadItemCount
If FldDossier.UnReadItemCount = 0 Then
Exit Sub
End If
'instancie le mail suivant la valeur de la boucle
Set MonMail = FldDossier.Items(i)
'Test sur le mail vient d'une boite précise
'Récupère les diverses informations du Mail venant de la boite test
If MonMail.SenderEmailAddress = "boite_test@mail.net" Then
' je récupère le sujet car il contient l'adresse du destinataire
strInfos = strInfos & MonMail.Subject
'preparation et envoie de mailing info àl'attention du destinataire
Set MonMail1 = MonApply.CreateItem(olMailItem)
With MonMail1
.To = strInfos
.Subject = "re" & strInfos
.Attachments.Add ("C:\test_mailing\document1.pdf")
.HTMLBody = "<HTML><BODY><img src ='c:\test_mailing\image.jpg'/></BODY></HTML>"
.Display
.Send
End With
End If
'marquer le mail comme lu
MonMail.UnRead = False
strInfos = ""
Next i
'Vide des instances
Set MonApply = Nothing
Set MonNSpace = Nothing
Set FldDossier = Nothing
Set MonMail = Nothing
End Sub |