"plug-in" Signal-Spam pour Mail

Les quelques personnes avec qui j'ai pu en discuter savent à quel point j'étais en rogne contre les gens de signal-spam.fr. Ce site, initié par le gouvernement et quelques industriels, affichait à son lancement beaucoup de prétentions qu'il était incapable d'assumer. Quand je l'ai testé, le 11 mai, lendemain de son ouverture officielle, absolument rien ne fonctionnait comme promis. À la faveur d'un échange récent sur fr.misc.droit.internet, j'ai décidé de tenter ma chance à nouveau et, miracle, Le site fonctionne enfin comme attendu.

J'ai donc eu envie de fabriquer un petit "plug-in" pour mon client de messagerie : Apple Mail. J'ai utilisé comme base de travail le script shell de Stéphane Bortzmeyer qui présente l'avantage énorme de partir d'Openssl et de cUrl, tous deux fournis dans Mac OS X. J'ai conçu, autour de cette base, un script AppleScript qui permet l'interaction avec Mail.

Téléchargement

Vous trouverez toujours la dernière version du script à cet endroit. Pour plus de simplicité, je ne donne pas de numéro de distribution, mais uniquement le numéro de version svn du fichier (plus récent en haut) :

version 116 de signal-spam.scpt | sources au format txt | changelog cf. commentaires
version 66 de signal-spam.scpt | sources au format txt | changelog cf. commentaires
version 65 de signal-spam.scpt | sources au format txt | changelog cf. commentaires - mise à jour de sécurité
version 64 de signal-spam.scpt | sources au format txt | changelog cf. commentaires
version 63 de signal-spam.scpt | sources au format txt | changelog cf. commentaires
version 61 de signal-spam.scpt | sources au format txt

Installation et utilisation

Avant d'utiliser ce script, vous devez disposer d'un compte utilisateur sur le site signal-spam.fr. Une fois cette formalité accomplie, copiez ce script dans votre dossier "Library/Scripts/Mail Scripts/" (en français "Bibliotheque/Scripts/Mail Scripts/"). Ensuite, ouvrez ce script par un double-click. Le script vous demande alors votre identifiant puis votre mot de passe signal-spam. Saisissez ces paramètres, puis enregistrez le script. Ainsi, vos identifiants de connexion sont enregistrés dans le script qui pourra fonctionner sans que vous ayez à les ressaisir à chaque utilisation. Si vous désirer modifier le login et/ou le mot de passe il vous suffit de rouvrir le script, et de saisir les nouveaux paramètres. N'oubliez pas d'enregistrer à nouveau le script.
Pour que ce script soit utilisable dans Mail, il vous faut activer le "script menu" (script menu). Vous pouvez activer ce menu grace à l'utilitaire "AppleScript Utility.app" qui se trouve dans le dossier "/Applications/AppleScript/". Ensuite, dans Mail, sélectionnez les messages que vous souhaitez signaler, puis dans le "script menu" choisissez "signal-spam". Voilà !

Le script est conçu pour retourner les codes d'erreurs HTTP que le serveur signal-spam.fr lui renvoie. L'erreur probablement la plus courante est la "400". Un code d'erreur "400" signifie que "quelque chose" ne s'est pas bien déroulé. C'est en général du à une erreur de login ou de mot de passe.

Nouveauté de la version 64 : Si vous êtes un utilisateur de Growl, vous pouvez installer l'Extra growlnotify qui est fourni dans l'image disque de Growl. Cet utilitaire permet de piloter Growl en ligne de commande, et c'est le mode de notification qui a été choisi pour le script signal-spam. Le script détecte automatiquement la présence de growlnotify dans le répertoire /usr/local/bin, et poste une notification visuelle si ce dernier est présent.

Licence

Ce script est fourni sans garantie, et sous licence BSD. Ce qui signifie très grossièrement que vous pouvez en faire ce que vous voulez à condition de mentionner les auteurs, y compris en faire un produit commercial.

N'hésitez pas à me laisser un petit mot si vous utilisez ce script, ou si vous rencontrez des problèmes avec lui.

À lire aussi :

40 comments

  1. changelog version 63 :
    - ajout d'un son pour signaler la fin du traitement des spams
    - changement de la boîte de dialogue d'erreur

  2. changelog version 64 :
    - ajout d'un compteur interne des spam traités et des erreurs
    - notification visuelle de ces décomptes via l'utilitaire growlnotify si il est présent et que Growl est activé

  3. changelog version 65 (sécurité) :
    - changement de méthode d'injection des spam. La méthode précédente pouvait permettre l'exécution de commande dans le shell à l'insu de l'utilisateur et avec les privilèges de celui-ci.
    - correction d'une variable d'environnement

  4. changelog version 66 :
    - correction d'une petite régression : depuis la version 64, si growlnotify n'était pas trouvé, la notification sonore n'était pas déclenchée.

  5. Utilisateur de Mail. Je me suis inscrit sur le site de signal-spam. J'ai reçu le mail de confirmation, mon compte est créé. Le script a été lancé, le login et mot de passe OK. Enregistrement du script. Pourtant, toujours la même erreur 400. A l'aide merci.

  6. Bonjour Ericm,

    je constate depuis ce soir qu'il est impossible de déclarer des spam sur signal-spam, autant par mon script que par l'interface web de signal-spam.

    j'ai envoyé un mail au support mais j'ai peu d'espoir de réponse (ils ne m'ont jamais répondu)

  7. Bonjour,
    J'essaye d'utiliser le script mais après installation, lorsque je veux l'utiliser dans Mail, il s'affiche le message d'erreur suivant :
    Erreur dans Mail : "ERREUR " ne comprend pas le message «event sysodisA».

    Lorsque j'ai enregistré le script après y avoir entré login et MP le temps d'enregistrement fut extrêmement long (en fait au bout d'1/4 d'heure j'ai arrêté…). Cela peut-il venir de là ?
    J'utilise Mail 1.3.11 sur Panther. Par ailleurs mon compte sur signal-spam est obé. L'accent pourrait-il être en cause ?

    Merci.

  8. Je n'ai pas testé ce script sur panther, donc le souci vient probablement de là. Quoi qu'il en soit, si le script ne compile pas sur ta machine (pas la bonne version de Mail par exemple), comme cela semble être le cas, il ne pourra pas fonctionner.
    Malheureusement, ma prochaine étape c'est de valider pour leopard, Panther est clairement aux oubliettes en ce qui me concerne ;)

  9. Merci pour la réponse rapide !
    Bon là je l'ai installé sur un autre ordi qui tourne sous Tiger et ça semble fonctionner. J'ai par contre maintenant cette fameuse erreur 400 mais j'imagine que ça doit venir du site comme pour ericm…

  10. hmm... autant que je puisse dire, tout fonctionne bien chez signal spam depuis plusieurs jours, je penche pour une probable incompatibilité de mon script avec les logins accentués.

  11. Bonjour,
    J'ai régulièrement des problèmes sous Leopard 10.5.1 quand j'utilise le script sur le SPAM folder de mon compte Gmail en IMAP. Une alerte s'affiche indiquant un problème d'index dans Mail et qui entraîne propose un Quit avec reconstruction de l'index. Malgré des reconstructions totales de mailboxes et autres "Envelope Index" le problème subsiste dès que j'utilise le script.
    Suis-je le seul ?

  12. Bonjour,

    Je n'utilise pas de compte gmail, mais mon compte principal est en IMAP, et je n'ai pas de soucis particulier. Néanmoins, il est réglé pour conserver l'intégralité des messages (enveloppe ET contenu) en local. Donc chez moi tout est normalement bien indéxé par Mail.app. Peut être est ce une piste à suivre.

    Par contre, avec la 10.5 j'ai un souci pour Growl, qui déconne plein tube. Mais c'est indépendant et le script fonctionne très bien sans.

  13. Bonjour,
    je suis sous Leopard 10.5.2 et l'enregistrement du script est interminable ou alors affiche "Le document “signal-spam.scpt” n’a pas pu être enregistré."
    Comment résoudre ce problème ? (j'utilise Mail 3.2)
    Merci

  14. Bonjour tincave,

    Je viens de faire le test sur ma machine, à partir du fichier signal-spam.scpt en version 66. Je le télécharge, safari le décompresse, je l'ouvre dans l'éditeur, il me demande mon login et mon mot de passe pour signal-spam. Ensuite j'enregistre, et c'est instantané.
    À noter que Mail est déjà lancé.
    Dans le doute, tu peux essayer de ne pas enregistrer le fichier, mais plutôt de copier-coller le script dans une nouvelle fenêtre de l'éditeur. Ensuite tu pars de cette copie que tu sauves en .scpt.

  15. Merci Zigomar pour le lien. C'est effectivement affligeant de constater le dédain de Signal-Spam pour ses utilisateurs. Même la nouvelle version de leur site n'est pas terminée. C'est un travail bâclé d'un bout à l'autre.

    Et comme j'en ai ma claque des gens qui brassent de l'air, se mettent des subventions dans les poches, et promettent plein de choses, voilà mon coup de gueule initial : groups.google.com/group/f...

    À noter que mon script fonctionne bien sur Mac OS X 10.4 et 10.5, et qu'il ne sera donc probablement plus mis à jour.

  16. J'ai aussi un problème erreur 400, due au fait que mon compte utilisateur n'est pas admin.
    Dans ce cas, pour installer signal-spam.scpt, ne pas le placer tout de suite dans Bibliotheque/Scripts/Mail Scripts/ mais sur le bureau par exemple.
    Double-clique, indiquez login et mot de passe puis Fichier->Enregistrer.
    Ensuite, copier dans Bibliotheque/Scripts/Mail Scripts/ (en vous authentifiant si nécessaire).
    Cette fois, vous devriez pouvoir signaler les spams.

  17. Bonjour !
    Enfin une bonne excuse pour signaler sans perdre de temps ! Sauf si on n'utilise pas Mail... Est-ce qu'une version pour Microsoft Entourage est prévu (depuis que celui-ci supporte AppleScript dans sa dernière version) ?

  18. Didjo : non, je ne prévois pas de version pour Entourage. Je ne souhaite pas développer et maintenir une version du script pour un client de messagerie que je n'utilise pas.

  19. Bonjour,
    Félicitations pour ce petit script bien pratique !
    Évidemment faut toujours que les casse têtes me tombent dessus, je m'explique :
    J'aime les mots de passe à rallonge, et bien compliqués, j'ai de ce fait découvert que si le mot de passe contient une apostrophe (ce qui était mon cas) le script ne fonctionne plus
    L'erreur vient du 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='&1"
    L'apostrophe est comprise comme quote fermante au --user '" & login & ":" & motdepasse & "'
    Je pense qu'il suffirait de changer par --user \"" & login & ":" & motdepasse & "\" mais je n'ai pas essayé.

    Bonne traque et encore merci !

  20. Merci pour ce script.

    Une fonction qui serait vraiment très intéressante serait qu'en même temps le script marque le message comme courrier indésirable. Comme cela le message sera également mis dans la BAL Courrier indésirable.

    Encore une fois merci pour ce script

  21. changelog version 116 :

    L'url du script de déclaration des spams a changé, et curl n'était pas configuré pour suivre le header "Location" de la réponse HTTP du serveur.
    J'ai corrigé l'url de déclaration, et j'ai ajouté une option dans les paramètres de curl pour qu'il suive un éventuel header "Location".

  22. Merci Patpro, ayant 10 boites mail à gérer, sans ton scrip, j'étais sur le point de cesser les signalements. Merci aussi à ichris75 dont le truc m'a permis de ne plus rencontrer l'erreur 400.
    Je dois dire que c'est grâce à signal spam que je suis arrivé ici.
    En effet j'avais envoyé un mail :
    Madame, Monsieur,
    Les ordinateurs Apple (Macintosh), prenant de plus en plus de parts de marché, il serait utile de prévoir un plugin de signalement dédié au logiciel de messagerie de ce système se nommant "Mail.app".
    Veuillez agréer, Madame, Monsieur, l'expression de mes salutations distinguées. Bien cordialement
    Réponse :
    Bonjour.
    L’absence de plugin pour Mail ne témoigne pas d’une forme de mépris pour les OS Macintosh, et leurs usagers. Signal Spam est une petite structure (en terme de ressources), et chaque développement doit faire l’objet de nombreuses considérations. Un plugin pour Mail figure haut dans la liste des priorités que nous avons établi.
    Sachez qu’il existe toutefois un plugin amateur qui fonctionne bien : http://www.patpro.net/blog/index.php/2007/07/13/109-plug-in-signal-spam-pour-mail/
    Bien cordialement

    Ma réponse :
    Bonjour,
    Merci encore de votre réponse et de votre précieux lien pour le plugin qui fonctionne très bien. Il serais bon de l'indiquer dans votre site.
    Cependant, je tiens à vous signaler une une correction : Le lien indique :
    "Pour que ce script soit utilisable dans Mail, il vous faut activer le "script menu" (). Vous pouvez activer ce menu grace à l'utilitaire "AppleScript Utility.app" qui se trouve dans le dossier "/Applications/AppleScript/". Ensuite, dans Mail, sélectionnez les messages que vous souhaitez signaler, puis dans le "script menu" choisissez "signal-spam"

    Or, le menu script s'active maintenant dans les préférences d'Éditeur AppleScript et n'existe plus dans le dossier "/Applications/AppleScript/.

    Bien cordialement

  23. Je sollicite votre talent et votre savoir faire pour vous suggérer de trouver une méthode pour ajouter votre script au menu contextuel.
    Bien cordialement

  24. Quelque soit le menu contextuel dont vous parlez, je serais bien en peine d'y ajouter quoi que ce soit. AppleScript ne le permet pas de manière standard autant que je sache. Il faudra trouver quelqu'un d'autre :)

  25. Bonjour....

    Merci pour ce script que j'utilise depuis quelques temps déjà...
    Une nouvelle erreur vient d'apparaitre (erreur 200) et les mail ne semble plus transmis à signal spam....
    Une petite idée peut-etre?

    Merci pour tout.

  26. Bon, j'ai la même erreur, et l'utilisation d'une URL de signalement alternative ne la supprime pas. Le plus simple c'est sans doute d'attendre une journée ou deux, pour voir si c'est un problème de leur coté.
    Si ça persiste, je tenterais de contourner le problème.

    [edit] Patience récompensée, ce matin ça fonctionne à nouveau.

  27. J'ai testé ce plug-in sous Mac OS Lion Moutain (10.8.2) / Mail 6.2, il fonctionne très bien ! Merci encore au développeur d'avoir pris le temps de créer ce fichier :)
    Mais il est vrai, comme Sacuto le précisait, que de pouvoir intégrer un tel utilitaire dans le menu contextuel de Mail, ça serait tout simplement parfait...

  28. Et bien moi je n'arrive pas à activer le menu scripts dans mail 6.2 (OS X 10.8.2).
    Si quelqu'un a la solution ...

  29. Un vrai plaisir pour remplacer des heures de copier-coller avec l'espoir que cela servira un jour à quelque chose.
    Pour aider "bub", lancer l'application Editeur AppleScript depuis le dossier Utilitaires et voir dans les préférences de l'application pour afficher le menu script.
    Merci aux développeurs qui nous sauvent des crampes à la main gauche.

  30. 2 ans après la dernière évolution du script, je constate qu'il est toujours vaillant, fonctionnel, et surtout, utilisé ! Merci à tous ;)

  31. J'ai installé le plug-in "Signal-spam" sur Windows live mail sous WINDOWS 7.
    Une erreur s'est produite lors d'un signalement et depuis, à chaque lancement de Windows live mail, j'ai une fenêtre d'erreur qui s'affiche "erreur plug-in signal spam; .... désolé une erreur s'est produite ... etc....."
    Comment supprimer ce message ?
    merci pour votre aide

  32. Bonjour,
    J'ai installé la version 116 sur le dernier mac OS yosemite. Je sélectionne un message puis vais dans la barre en haut, sélectionne le lanceur de scripts, choisis signal-spam, clique, entends le son d'alerte, mais que doit-il se passer ensuite ? le message est-il déplacé dans les indésirables ? Comment sait-on que le signalement a effectivement été envoyé ?
    Merci pour votre réponse.

  33. Bruno, le comportement décrit est correct. Le script ne déplace pas le message original, il se contente de le déclarer à Signal Spam.
    Pour savoir si le spam est bien déclaré, rien de plus simple : connectez-vous au site signal-spam avec votre identifiant et mot de passe, puis cliquer sur "mon compte" pour accéder à l'espace Membres. Ensuite cliquez sur "Suivi des signalements".
    Aussi, en cas d'erreur le script affiche un message.

  34. Merci pour cette info. Je fonctionnais avant avec thunderbird et il y avait une notification de prise en compte et de réception.
    Super script.
    Merci encore
    Bruno

  35. Bonjour, J'ai exactement le même souci que Gilbert (message du 12/09/2015 ci-dessus). Message d'erreur qui s'affiche depuis des semaines, à chaque ouverture de ma boite mail (Windows live mail) : " désolé une erreur s'est produite durant votre signalement, veuillez réessayer ultérieurement....etc, etc". Quelqu'un a t-il une idée pour faire en sorte quece message d'alerte ne s'affiche plus. Merci !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *