Je souhaite déclencher un workflow dans automator à chaque fois que je reçois un nouvel email dans "mail.app". Comment faire ?
Réponse
Trop de publicités?Oui, c'est possible :
Vous pouvez utiliser les règles normales du courrier avec une action d'exécution : Exécuter Applescript.
Créer une règle de courrier normal en applescript. Mais incluez du code pour appeler votre flux de travail automator via la commande unix /usr/bin/automator .
En /usr/bin/automator exécutera le flux de travail que vous lui indiquerez et pourra éventuellement lui transmettre des données en utilisant l'option -i.
Voici un exemple rapide d'une règle Applescript Mail qui récupère l'objet du/des e-mail(s) et exécute un flux de travail Automator qui énonce tout texte qui lui est transmis. Dans ce cas, il s'agit de l'objet de l'e-mail.
Le script DOIT être enregistré dans : votre ~/Library/Application Scripts/com.apple.mail
pour que mail.app puisse les voir.
Vous pouvez attacher un script à une règle de courrier. Par exemple, vous pouvez faire en sorte qu'un message entrant déclenche un script qui copie les informations du message et les colle dans une base de données qui fonctionne avec AppleScript.
Choisissez Courrier > Préférences, puis cliquez sur Règles. Ajoutez une règle ou sélectionnez une règle règle existante à modifier.
Choisissez Exécuter AppleScript dans le menu "Exécuter le les actions suivantes".
Choisissez un script. de script situés dans ~/Bibliothèque/Application script/com.apple.mail.
Ou choisissez "Ouvrir dans le Finder" pour ouvrir l'application afin de pouvoir copier un script dans le dossier.
I script, votre règle ne fonctionnera pas.
Cliquez sur OK pour enregistrer la règle.
L'exemple d'Applescript pour la règle
(Modifier le Chemin d'accès au flux de travail pour refléter le chemin complet de votre fichier de flux de travail Automator)
property workFlowPath : quoted form of ("/Users/YourUserName/Library/Application Scripts/com.apple.mail/mailSpeakTest.workflow") --CHANGE THIS TO YOUR FULL WORKFLOW FILE PATH example "/Users/joeblogs/Library/Application Scripts/com.apple.mail/mailSpeakTest.workflow"
using terms from application "Mail"
on perform mail action with messages theMessages for rule theRule
repeat with eachMessage in theMessages
(*Get the email Subject *)
set input_Argument to subject of eachMessage
(*Run subroutine for workflow *)
my runAutomator(input_Argument)
end repeat
end perform mail action with messages
end using terms from
(*Workflow Subroutine *)
on runAutomator(input_Argument)
(*Path to workflow *)
(*Setup and Run the unix command *)
set command to "/usr/bin/automator -i " & quoted form of input_Argument & space & workFlowPath
do shell script command
end runAutomator
Le flux de travail d'Automator est simplement