Donc j'ai créé une règle de courrier "Supprimer les messages indésirables" qui supprimera les messages d'un expéditeur. Ce que je n'arrive pas à comprendre, c'est comment automatiser l'ajout de nouvelles adresses d'expéditeurs à la règle. Je suppose que je pourrais le faire avec AppleScript mais j'essaie aussi de le faire sans ouvrir le message. Le but est de supprimer automatiquement les messages indésirables de ma boîte de réception et de mes dossiers de courrier indésirable. Je pensais que c'était la fonction de l'option de menu Appliquer les règles mais apparemment non. Des idées?
Mise à jour : J'ai essayé de mettre à jour SyncedRules.plist en utilisant un script Shell (ci-dessous) mais (a) il n'apparaît pas dans les préférences de Mail ; et (b) SyncedRules est restauré après le redémarrage de Mail. Je ne suis pas sûr où d'autres règles de Mail sont stockées.
#! /bin/zsh
# Générer un UUID de 128 bits
CRITERION_UNIQUE_ID="$(uuidgen)"
# Définir les variables d'entrée Shell
EXPRESSION="$1"
HEADER="$2"
# Définir le fichier SyncedRules.plist
FILENAME="/Users/tim/Library/Mail/V7/MailData/SyncedRules.plist"
# Exécuter plutil
plutil -insert 0.Criteria.0 -xml "CriterionUniqueId$CRITERION_UNIQUE_IDExpression$EXPRESSIONHeader$HEADER" $FILENAME
Ce script insère un dictionnaire dans le premier élément de l'array Criteria
contenant un UUID de 128 bits, l'adresse e-mail de l'expéditeur et l'en-tête de l'e-mail, mais mon problème est la persistance. Si j'exécute la commande avec sudo, je peux mettre à jour le SyncedRules.plist mais Mail ne reconnaît pas les modifications et le .plist est restauré lorsque Mail redémarre, de toute façon.
En bonne voie...
Plus de mises à jour : Donc je suis revenu en arrière et j'ai jeté un œil à la bibliothèque de Mail dans l'Éditeur de Scripts... puis j'ai découvert cette réponse https://apple.stackexchange.com/a/332482/34929 - il y a un bloc là-bas qui m'intéresse particulièrement... quelque chose comme make new rule with properties {header:"", expression:thisItem, rule type:from header, qualifier:equal to value} condition
- je pense que c'est là où je vais maintenant.