|
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 : 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 |