Cette question a de nouveau attiré mon attention car mon commentaire a été voté positivement, mais il n'y a toujours pas de bonnes réponses donc je vais y mettre du mien. ;) C'est un exercice intéressant.
Vous dites que vous "avez beaucoup de filtres et certains d'entre eux ont plusieurs adresses e-mail donc je devrais passer par tous ceux-ci pour duplicater chaque test De : et en faire un test Tout destinataire : - un casse-tête de maintenance ainsi qu'une douleur initiale"
Ce casse-tête de maintenance pourrait être éliminé grâce à la magie d'Applescript. Le script suivant prend les messages sélectionnés dans Apple Mail, passe en revue tous les champs "expéditeur" pour trouver de nouveaux expéditeurs qui n'ont pas encore l'une de ces règles "de/tout destinataire", et si ce n'est pas le cas, crée une nouvelle règle avec vos conditions de règle "de/tout destinataire".
Je ne suis pas certain de ce que vous faites avec les Règles de messagerie, mais je présume que vous configurez des dossiers pour chaque "conversation" dans Mail avec chaque adresse e-mail. Je ne recherche que l'en-tête "de" pour configurer ces e-mails car un e-mail peut avoir de nombreux destinataires. C'est rudimentaire, et vous voudrez le modifier vous-même. Par exemple, je ne vérifie pas la validité des noms de boîte aux lettres, un nom avec un slash provoquera la création de boîtes aux lettres supplémentaires.
Le voici!
tell application "Mail"
set _sel to get selected messages of first message viewer
repeat with _msg in _sel
set _senderEmail to extract address from sender of _msg
set _ruleName to "Conversations avec <" & _senderEmail & ">"
set _mailRules to rules
set foundIt to false
repeat with _rule in _mailRules
if ((extract address from name of _rule) is _senderEmail) then
set foundIt to true
exit repeat
end if
end repeat
if not foundIt then
set _senderName to "Conversations/" & (extract name from sender of _msg)
if not (mailbox _senderName exists) then
make new mailbox at end of mailboxes with properties {name:_senderName}
end if
set _destination to (mailbox _senderName)
set newRule to make new rule at end of rules with properties {name:_ruleName, enabled:true, should move message:true, all conditions must be met:false}
tell newRule
make new rule condition at end of rule conditions with properties {rule type:from header, expression:_senderEmail, qualifier:does contain value}
make new rule condition at end of rule conditions with properties {rule type:any recipient, expression:_senderEmail, qualifier:does contain value}
set move message to _destination