# récupérer les pièces jointes de mails avec automator



## chdud (13 Mars 2006)

Bonjour, j'aimerais savoir s'il est possible de récupérer les pièces jointes de mes mails et les envoyer dans plusieurs dossiers en fonction de leur format. Pour classer les pièces jointes en .jpg, .pps, .ppt etc... ça doit être possible non?


----------



## bompi (13 Mars 2006)

Bin oui, cela devrait être possible. Mais je n'y suis jamais parvenu.
J'ai essayé des scripts AppleScript appelés au niveau des règles de filtrage de Mail et cela n'a pas marché.
Quant à utiliser Automator, il y a trop peu d'information à mon goût pour y parvenir : dans la liste des actions Automator de Mail, on ne trouve rien de bien intéressant quant aux pièces jointes. En fait, c'est sympa mais trop lourd pour moi.

Finalement, je suis revenu à des pratiques très unixiennes, que je n'avais jamais utilisées et qui se sont révélées très efficaces. Si ça t'intéresse, je développe (mais on va encore me reprocher d'utiliser le Terminal  )


----------



## chdud (13 Mars 2006)

Oui, bien sûr que ça m'interesse mais j'avoue ne rien y connaitre à UNIX... Je pense malgrès tout qu'avec automator, ça doit être possible et le truc qui m'interesse, c'est quand ce n'est pas trop compliqué...


----------



## da capo (13 Mars 2006)

Eh bien, tu acceptes la proposition de bompi qui fait un script et tu lances le script depuis Automator


----------



## chdud (13 Mars 2006)

J'accepte, c'est vraiment sympa. Je n'en attendais pas tant. J'aimerais avoir aussi quelques notions de programmation mais je ne sais pas si je ne vais pas être trop abruti pour tout capter...


----------



## bompi (13 Mars 2006)

Hum ... En fait, je crois que ça ne va pas trop vous convenir ...

1. j'ai réactivé le système de messagerie "Unix" de Mac OS X
2. j'ai installé un petit service POP3 (le service de réception de message classique)
3. j'ai installé un utilitaire (gratuit) qui extrait les pièces jointes des messages : 'ripmime'
4. j'ai configuré 'fetchmail' pour qu'il relève le courrier et le transmette à 'procmail'
5. j'ai installé et configuré 'bogofilter', un programme contre le spam très efficient
6. j'ai configuré 'procmail' pour qu'il trie le courrier suivant certains critères, lui ai dit d'utiliser l'utilitaire 'ripmime' pour extraire les pièces jointes et 'bogofilter' pour filtrer le spam ; il dépose le courrier dans la boîte de messagerie 'unix' de mon utilisateur
7. j'ai configuré 'Mail' pour qu'il se connecte à la boîte locale.

Bon. Ça paraît compliqué mais cela ne l'est pas tant que ça. Les points 1. et 2. se résolvent en trois clics avec Postfix Enabler. 'fetchmail' et 'procmail' sont déjà disponibles sur Mac OS X. J'ai juste recompilé 'bogofilter' et ses dépendances et 'ripmime'.
Quant à la configuration, ce n'est pas très dur non plus.

Une remarque en passant : il est dommage que Mail ne soit plus capable de se connecter à une boîte de messagerie locale Unix. Parfois, ils attigent un peu chez Apple ...
Une autre remarque : je me suis rendu compte qu'il est facile d'utiliser un autre anti-spam que celui moyennement efficace de Mail. Notamment : bogofilter peut ajouter un champ dans l'entête des messages. Et Mail sait reconnaître tout champ dans un entête (il suffit de l'ajouter dans sa liste).


----------



## chdud (13 Mars 2006)

oui, effectivement, ça me parait un peu compexe... Mais qui sait si je ne vais pas avoir des réponses avec "automator".
 En attendant, merci pour les réponses.


----------



## da capo (13 Mars 2006)

Salut bompi.
Est-ce toi qui dans un post récent décrivait le format d'une mbox (message commence par from et se termine par ligne vide) pour effacer un message "récalcitrant".

Sais-tu où sont logées les pièces jointes ? Sont-elles en "vrac" dans le fichier mbox entre le from et cette ligne vide ? Ou placées/codées ailleurs ?

Un truc me vient à l'esprit en passant : le mail chez Free (et chez d'autres FAI surement) permet d'utiliser des regexp pour monter son propre système de filtrage.
Dès lors, on peut tester la présence de pièces jointes et les orienter vers des dossiers imap différents directement à la source. Puis passer Mail en imap plutôt qu'en pop.

Je le fais personnelement pour virer directement à la poubelle toutes les messages contenant des pièces jointes au format .pif .com .bat etc.


----------



## bompi (13 Mars 2006)

Voui, c'est bien moi.
Les pièces jointes sont dans le corps du message, encadrée chacune par un descriptif et codées de sorte que seuls des caractères ASCII transitent.

Excellente ton idée de regexp. ET chdud voulant faire un peu de programmation : c'en est après tout !


----------



## chdud (13 Mars 2006)

ou la!!! ça me parait un peu du chinois tout ça mais ça m'interesse, je suis chez free en plus... Il y aurait une possibilité de ce côté d'après vous alors?


----------



## da capo (13 Mars 2006)

chdud a dit:
			
		

> ou la!!! ça me parait un peu du chinois tout ça mais ça m'interesse, je suis chez free en plus... Il y aurait une possibilité de ce côté d'après vous alors?


Oui, je me connecte et je te refile la regexp qui va bien.

Et quelques instructions aussi.

Après reste plus qu'à essayer.


----------



## kaviar (13 Mars 2006)

Pour en revenir à Automator, il y a plein de développeurs qui ont créés des actions, une petite recherche sur Google et l'on trouve par exemple ceci. Je ne sais pas si le "Save Image Attachments" pourra convenir, mais il y a moyen d'en trouver pleins d'autre ne serait ce que sur le site Apple.....


----------



## bompi (13 Mars 2006)

Note que j'ai fait mon p'tit bazar entre autres à cause :
- de mon inexpérience en AppleScript et du manque d'intérêt qu'il m'inspire (il ne fonctionne que sur Mac, le pauvre)
- de nombreux bugs qui semblent affecter Mail quant à l'utilisation de scripts (AppleScript en l'occurrence) dans des règles de filtrage (voir le commentaire sur le site de MailScript)
- de mon besoin : que le filtrage des mails extraie *directement* les pièces jointes et les dépose dans des répertoires idoines (car j'ai des scripts qui sont lancés à heure fixe qui examinent le contenu de ces fichiers) ; donc je ne voulais pas d'une action Automator intervenant _a posteriori_


----------



## da capo (13 Mars 2006)

Bon, voilà :
Pour mettre en route le filtrage tu dois te connecter à http://mfilter.free.fr
Là tu donnes ton identifiant de messagerie et ton mot de passe.

Tu vas pouvoir ajouter une règle ou plusieurs :
Par exemple dans le champ autre entête tu mets : Content-(Type|Disposition)
puis dans le menu déroulant : valide l'expression régulière :
et dans le dernier champ : .*name=.*\.(jpg|jpeg).?$

Enfin tu cliques dans le bouton d'option "Placer dans le dossier IMAP" et tu le définis dans la zone de texte (par exemple msg_jpg).
Tu valides en cliquant sur Enregistrer.

Tu recommences autant de fois que nécessaire (pour les format gif par exemple).

En utilisant la règle : .*name=.*\.(pif|bat|scr|com|exe).?$  tu peux envoyer directement à la trappe les messages contenant des pièces jointes propre au système DOS/Windows qui sont potentiellement des virus et de toute façon inexploitables sur nos Macs.

Mais, par contre j'ai un petit doute sur l'efficacité du tri par nature de pièce jointe : dès qu'un correspondant yahoo ou hotmail va t'envoyer un mail, il risque de partir dans le dossier imap des Gifs (à cause des zigouigouis ajoutés automatiquement à la fin).

Sinon, ensuite, il faudra paramétrer ton compte sur Mail en IMAP et pas en POP.

Je te conseille de faire un essai sur un autre compte d'abord (crée le pour l'occasion depuis l'interface de Free) et envoie-toi des messages pour valider l'opération.

Bon travail 

la pièce jointe :


----------



## chdud (13 Mars 2006)

"Save Image Attachments" est pas mal et m'est utile mais il ne récupère que les images qu'il y a dans les pièces jointes et pas les autres fichiers, celà dit, on avance


----------

