Bonjour,
Dans le but de filtrer les spam sous Outlook, j’ai écris en VBScript un code qui fait intégrer SpamAssassin. Bref, ce que fais le code est le suivant :
Lit le message de la boite de réception, l’écrit dans un fichier testme.txt input de SpamAssassin. Lit l’output de SpamAssassin (un fichier assassinated.txt), s’il trouve le flag « X-Spam-Status: Yes » il ajoute *****SPAM***** au sujet de l’e-mail.
Ce code crée aussi un dossier Spam, mais je n’arrive pas encore à y déplacer les e-mails marqués comme des spams.
Mon but maintenant est de créer un bouton dans outlook qui permet d’exécuter mon code.
Voilà le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Set mapisession=CreateObject("MAPI.Session")
mapisession.Logon
Set Folder=mapisession.GetDefaultFolder("1")
Set spamfolder=Folder.Folders.Add("Spam")
Set WshShell = CreateObject("WScript.Shell")
'MsgBox Folder.Name
Set AllMsgs=Folder.Messages
Set fs=CreateObject("Scripting.FileSystemObject")
 
For Each Item In AllMsgs
    'Msg=item.Fields(&H7D001E) & Item.Text
    'MsgBox Msg
    fs.CreateTextFile "c:\Program Files\SpamAssassin\testme.txt"
    Set file=fs.GetFile("c:\Program Files\SpamAssassin\testme.txt")
    Set ts=file.OpenAsTextStream(2,-2)
    ts.Write Msg
    ts.Close
    WshShell.Run """c:\Program Files\SpamAssassin\spam.bat""", 7, True
    Set file=fs.OpenTextFile("C:\Program Files\SpamAssassin\assassinated.txt" , 1 , True)
    Do While Not file.AtEndOfStream
        Msg1=file.ReadLine
        val=InStr(Msg1,"X-Spam-Status: Yes")
    Loop
    ts.Close
    If Int(val)<> 0 Then
         'MsgBox Item.Subject
         'MsgBox "Spam Found"
         Item.Subject = "*****SPAM*****" & Item.Subject
         Item.Update
    End If 
 
Next
 
mapisession.Logoff
Set mapisession = Nothing
Set AllMsgs = Nothing
Set Folder = Nothing
Est-ce que quelqu’un peut-il m’aider à déplacer les e-mail dans le dossier créé et d’ajouter le bouton de l’exécution. D’après ce que j’ai vu apparemment il me fallait traduire mon code en VB et le mettre dans une macro. J’ai déjà résolu le problème de signature numérique.
Merci d’avance.
Note: La version d'Outlook que j'utilise est 2007