Как я могу настроить сочетание клавиш для Mail.app в OSX Lion, чтобы электронное письмо в папке «Входящие», которое до сих пор не было прочитано, при использовании этого сочетания автоматически перемещалось в другую ранее определенную папку?
4 ответа
Откройте Automator и создайте новый Сервис. Настройте его на получение "без ввода", затем перетащите Запуск AppleScript с левой панели вправо.
Вставьте следующий сценарий - обратите внимание, что вам необходимо изменить my-account
на фактическое имя учетной записи, в которой ваш исходный и целевой почтовые ящики *. Кроме того, измените destination
на имя почтового ящика назначения под указанной учетной записью.
tell application "Mail"
repeat with theMessage in {messages in mailbox "INBOX" of account "my-account" where read status is false}
set theMailbox to mailbox "destination" of account "my-account"
move theMessage to theMailbox
end repeat
end tell
Если вы хотите, чтобы это влияло на общий почтовый ящик:
tell application "Mail"
repeat with theMessage in {messages in inbox where read status is false}
set theMailbox to mailbox "destination" of account "my-account"
move theMessage to theMailbox
end repeat
end tell
Сохраните эту услугу. Затем в Системных настройках »Клавиатура» Сочетания клавиш создайте новое сочетание клавиш для этого сервиса.
И вы сделали.
* Вы можете узнать имя учетной записи, перейдя в настройки Mail, затем в разделе « Учетные записи» см. Строку « Описание» .
Вы можете использовать решение Automator для создания Сервиса со следующим фрагментом AppleScript, который спросит вас, куда вы хотите переместить выбранные сообщения.
use Mail : application "Mail"
use scripting additions
on findMailBox for partialName
--display dialog "Looking for mailbox with text " & partialName
set allMailBoxes to mailboxes of account "Apple"
repeat with m in allMailBoxes
if ((offset of partialName in (name of m as string)) ≠ 0) then
return m
end if
end repeat
end findMailBox
display dialog "Destination: " default answer ""
set destinationName to the text returned of the result
set moveTo to findMailBox for destinationName
set theSelection to selection of Mail
repeat with m in theSelection
--display dialog "will move message " & (id of m as string) & " to mailbox " & (name of moveTo as string)
move m to moveTo
end repeat
Я искал то же решение, чтобы переместить сообщения в папку и, используя словарь, нашел, что это работает в Yosemite.
tell application "Mail"
set the_messages to selection
repeat with this_message in the_messages
set theSender to sender of this_message
move this_message to mailbox "BILL PAY/Mortgage & HOA" of account "iCloud" -- a folder contained by another folder
end repeat
end tell
Больше не работает, работает в Mavericks (Mail 7.3)
Это делает:
tell application "Mail"
repeat with theMessage in (every message of (mailbox "current" of account "my-account"))
set mailbox of theMessage to mailbox "destination" of account "my-account"
end repeat
end tell