1

Как я могу настроить сочетание клавиш для Mail.app в OSX Lion, чтобы электронное письмо в папке «Входящие», которое до сих пор не было прочитано, при использовании этого сочетания автоматически перемещалось в другую ранее определенную папку?

4 ответа4

2

Откройте 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, затем в разделе « Учетные записи» см. Строку « Описание» .

1

Вы можете использовать решение 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
1

Я искал то же решение, чтобы переместить сообщения в папку и, используя словарь, нашел, что это работает в 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 
0

Больше не работает, работает в 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .