Esta pregunta apareció nuevamente en mi radar porque mi comentario fue votado, pero todavía no hay buenas respuestas, así que haré lo posible. ;) Es un ejercicio interesante.
Dice que "tiene muchos filtros y algunos de ellos tienen varias direcciones de correo electrónico, por lo que tendría que revisar todos estos duplicados en cada prueba From: y convertirlo en un destinatario Any: prueba - un dolor de cabeza de mantenimiento así como todo el dolor inicial "
Este dolor de cabeza de mantenimiento podría eliminarse mediante la magia de Applescript. La siguiente secuencia de comandos toma los mensajes seleccionados en Apple Mail, recorre todos los campos de "remitente" para encontrar nuevos remitentes que aún no tienen una de estas reglas "de / cualquier destinatario", y si no crea una nueva regla con su "de" / cualquier destinatario "condiciones de la regla.
No estoy seguro de lo que está haciendo exactamente con las Reglas de correo, pero supongo que está configurando carpetas para cada "conversación" de Correo con cada dirección de correo electrónico. Solo busco el encabezado "desde" para configurarlos, ya que un correo electrónico puede tener muchos destinatarios. Es duro y listo, y querrás modificarlo tú mismo. Por ejemplo, no hago ninguna comprobación de cordura de los nombres de los buzones, un nombre con una barra inclinada hará que se formen buzones adicionales.
¡Aquí está!
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