То же самое в голландском прогнозе: «Re: Betr .: Re: Doorgest .:» для «Re: Re: Re: Fw:», которое, вероятно, должно быть просто «Re:» тогда ...
Я не эксперт по AppleScript , но, основываясь на примерах в /Library/Scripts/Mail Scripts/Rule Actions , это может помочь вам (или кому-то из Super User) начать. Однако это совсем не рабочее решение, так как я не знаю, как заставить Почту сохранить изменения. Следующее изменит тему, как показано в списке сообщений, но не совпадает с тем, что показано над сообщением при его просмотре. Еще хуже: перезапуск Mail снова возвращает старый объект.
Я предполагаю, что нужно изменить фактический источник сообщения, а не только тему. И, возможно, AppleScript даже не может этого сделать, но это было пустой тратой времени, чтобы не публиковать здесь свои попытки. ;-)
(РЕДАКТИРОВАТЬ: попытки изменить свойство source
сообщения "Mail got an error: AppleEvent handler failed." number -10000
... Может быть, фактический файл .emlx
должен быть изменен в файловой системе?)
Для тестирования проще всего создать сценарий, который запускается для текущего выбранного сообщения. Например: сохраните следующее в текстовом файле с именем, например, test-clean-subject.scp
а затем дважды щелкните его, чтобы открыть редактор AppleScript. Затем просто нажмите кнопку воспроизведения:
tell application "Mail"
set selectedMessages to selection
if (count of selectedMessages) is equal to 0 then
display alert "No Messages Selected" message ¬
"Select one or more messages before running this script."
else
repeat with theMessage in selectedMessages
-- Of course, handling just one prefix is NOT AT ALL sufficient:
set thePrefix to "Aw: "
set theNewSubject to subject of theMessage
repeat
if theNewSubject does not start with thePrefix then
exit repeat
end if
set theNewSubject to text ((length of thePrefix) + 1) ¬
through -1 of theNewSubject
end repeat
-- Testing only:
display dialog "New subject: " & theNewSubject
-- This only (temporarily) sets the Subject in the message list.
-- Maybe change "source" instead...?
set subject of theMessage to theNewSubject
end repeat
end if
end tell
Возможно, вам придется нажать на список сообщений, чтобы увидеть, что Почта изменила его. Опять же: вышесказанное еще не решает вашу проблему! Кроме того, когда выясняется, как сохранить измененную тему, поиск и удаление / замена должны быть намного более сложными, чем просто поиск единственного «Aw:».
Для истинного почтового правила все должно быть немного иначе. Скопируйте соответствующие части из рабочего автономного сценария в следующее, сохраните его и затем создайте новое правило в почте для каждого входящего сообщения (или для сообщений для определенного отправителя):
using terms from application "Mail"
on perform mail action with messages theMessages for rule theRule
tell application "Mail"
repeat with theMessage in theMessages
-- copy the actual script here...
end repeat
end tell
end perform mail action with messages
end using terms from
См. Также Введение в создание сценариев почты в MacTech и некоторые примеры поиска и замены в MacScripter.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: ничего из перечисленного не было проверено много!