Questa domanda è comparso di nuovo sul mio radar perché il mio commento è stato votato, ma non ci sono ancora risposte valide quindi farò il possibile. ;) È un esercizio interessante.
Dici che "hai molti filtri e alcuni di loro hanno diversi indirizzi email quindi dovrei passare attraverso tutti questi duplicando ogni From: test e rendendolo un Qualsiasi destinatario: test - un mal di testa di manutenzione così come tutto il dolore iniziale "
Questo mal di testa potrebbe essere rimosso attraverso la magia di Applescript. Il seguente script prende i messaggi selezionati in Apple Mail, passa attraverso tutti i campi "mittente" per trovare nuovi mittenti che non hanno già una di queste regole "da / qualsiasi destinatario", e se non crea una nuova regola con il tuo "da / eventuali condizioni della regola del destinatario.
Non sono sicuro di quello che stai facendo con le Regole di posta, ma presumo che tu stia configurando le cartelle per ogni "conversazione" di posta con ogni indirizzo email. Cerco solo l'intestazione "from" per configurarli, poiché una e-mail potrebbe avere molti destinatari. È approssimativo e pronto e vorresti modificarlo da solo. Ad esempio, non eseguo alcun controllo di integrità dei nomi delle cassette postali, un nome con una barra in avanti causerà la creazione di caselle di posta aggiuntive.
Eccolo!
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 with <" & _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
end tell
end if
end repeat
end tell