(* PLUG-IN SIGNAL-SPAM.FR $Id: signal-spam.txt 66 2007-07-18 07:04:37Z patpro $ Ceci est un script AppleScript pour l'application Mail d'Apple. Il permet de déclarer sur le site http://www.signal-spam.fr les messages à caractère commerciaux non-sollicités (spam). Il s'appuie sur les programmes OpenSSL et cUrl fourni avec Mac OS X. Il a été testé sur Mac OS X 10.4. Crédits : La partie "curl" est inspirée du travail de Stéphane Bortzmeyer et a été adaptée par mes soins pour une utilisation dans un script AppleScript. Patrick Proniewski () Utilisation : Vous devez disposer d'un compte utilisateur sur le site de Signal-Spam. Copier ce script dans votre dossier "Library/Scripts/Mail Scripts/" Activez si ce n'est pas déjà fait le menu de script via l'utilitaire "AppleScript Utility.app" qui se trouve dans le dossier "/Applications/AppleScript/" Dans mail, sélectionnez les messages que vous souhaitez signaler, puis dans le menu de script choisissez ce script. Pour changer le login et le mot de passe du script, il vous suffit de l'ouvrir dans l'éditeur de script, et de l'enregistrer à nouveau. Si vous utilisez Growl () vous pouvez profiter des notifications Growl via l'utilitaire growlnotify qui est livré avec Growl. Pour fonctionner avec ce script, growlnotify doit être installé dans le répertoire /usr/local/bin/. *) property login : (text returned of (display dialog "votre login : " default answer "")) property motdepasse : (text returned of (display dialog "votre mot de passe : " default answer "")) property curl_version : (do shell script "curl -V | head -1 | cut -d' ' -f2- ") using terms from application "Mail" on perform mail action with messages theSelectedMessages tell application "Mail" if (count of theSelectedMessages) is equal to 0 then display dialog "Vous devez sélectionner au moins 1 message." else set traites to 0 set erreurs to 0 repeat with eachMessage in theSelectedMessages set LaSource to source of eachMessage as string set t to ((path to "temp" from user domain) as Unicode text) & "spam-a-traiter" set u to POSIX path of t as text set f to open for access file t with write permission set eof of f to 0 write LaSource to f close access f set monresult to do shell script "cat \"" & u & "\" | openssl enc -base64 | curl -s -S --proxy \"\" --request POST --user-agent \"Mail.app script http://www.patpro.net/blog/index.php/2007/07/13/109 " & curl_version & "\" --user '" & login & ":" & motdepasse & "' --write-out \"%{http_code}\" --form message='<-' https://www.signal-spam.fr/api/signaler 2>&1" try set coderetour to (monresult as integer) on error set coderetour to (monresult as string) end try if coderetour is not 202 then set erreurs to erreurs + 1 display alert "ERREUR " message "une erreur s'est produite : " & coderetour as critical buttons {"continuer", "arrêter"} default button 2 if button returned of result is "arrêter" then exit repeat end if else set traites to traites + 1 end if end repeat do shell script "[ -f /usr/local/bin/growlnotify ] && ( /usr/local/bin/growlnotify --image /Applications/Mail.app/Contents/Resources/junkmail.tiff -t 'Signal-Spam' -m '" & traites & " spam(s) traité(s), et " & erreurs & " erreur(s) !' ) || exit 0" say "boing" using "Bells" end if end tell end perform mail action with messages end using terms from using terms from application "Mail" on run tell application "Mail" to set sel to selection tell me to perform mail action with messages (sel) end run end using terms from