Как мне исправить мой код для загрузки вложения из электронных писем с определенной темой, используя AppleScript в Apple Mail? - PullRequest
0 голосов
/ 11 июня 2019

Я пытался загрузить вложения из Apple Mail с определенной темой с помощью AppleScript. По какой-то причине, если я использую ручной сценарий, я могу загружать вложения из электронного письма, но всякий раз, когда я пытаюсь использовать правило, ответа нет.

Я пытался использовать «термины из приложения« Почта »» и «при выполнении почтовых действий с сообщениями», но по какой-то причине он работает неправильно. У меня есть одна версия моего кода, которая будет загружать вложения из электронного письма, но при этом я буду запускать скрипт вручную, а он будет загружать только вложения из выбранных мною электронных писем.

using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        set thePath to "Macintosh HD:Users:johnhsu:Attachments"
        tell application "Mail"
            repeat with theMessage in theMessages
                set theAttachments to theMessage's mail attachments
                repeat with theAttachment in theAttachments
                    set originalName to name of theAttachment
                    set savePath to (thePath & ":" & originalName)
                    save theAttachment in file savePath
                end repeat
            end repeat
        end tell
    end perform mail action with messages
end using terms from

Я ожидаю, что AppleScript запустится, как только электронное письмо с темой «Отчет NetSuite» войдет в мою папку «Входящие», но ничего не произойдет. Затем я хочу, чтобы вложения электронной почты были загружены в папку «Вложения», но ничего не происходит. Ничего не происходит.

Кроме того, стоит отметить, что код, который я запускаю вручную, работает и загружает вложения из писем, которые я вручную выбрал в Apple Mail.

set thePath to "Macintosh HD:Users:johnhsu:Attachments"

tell application "Mail"
    set the selectedMessages to selection
    repeat with theMessage in selectedMessages
        set theAttachments to theMessage's mail attachments
        repeat with theAttachment in theAttachments
            set originalName to name of theAttachment
            set savePath to (thePath & ":" & originalName)
            save theAttachment in file savePath
        end repeat
    end repeat
end tell
...