Автоматически сохранять вложения в Mail.app в 10.8 Mountain Lion

0

Я пытаюсь автоматически сохранить все письмо отправлено на один адрес (назовем его test@example.com ) в эту папку /Users/luomat/Dropbox/Incoming/e2w/ (где /Users/luomat = $HOME ).

Вот правило, которое я использую в Mail.app:

enter image description here

Я настроил специальный адрес электронной почты для этой цели, и я получаю его через POP3 из Gmail. Сообщение окрашивается в красный цвет и помечается как прочитанное, но AppleScript, похоже, не работает.

Я пробовал два приложения AppleScript «Сохранить почту», которые я нашел в Интернете, но ни одно из них не работает.

(Вы можете найти их на http://share.luo.ma/temp/mail-app-applescript/ если хочешь их увидеть.)

Мне интересно, могут ли правила песочницы в Mail.app 10.8 помешать этому или я просто делаю это неправильно? Я не уверен, как устранить неполадки AppleScript из правил Mail.app, и я действительно не знаю AppleScript, я только что отредактировал эти два сценария, которые я нашел в Интернете, чтобы соответствовать тому, что я хочу сделать.

Вот что я пытаюсь достичь (в идеале):

  1. Если электронное письмо представляет собой простой текст, просто сохраните сообщение в / Users / luomat / Dropbox / Incoming / e2w /, используя что-то вроде «Subject Line from email address.txt»

  2. Если в письме есть вложения, создайте папку в «/ Users / luomat / Dropbox / Incoming / e2w /», используя тему письма в качестве имени папки, а затем сохраните тело письма как текст в этой папке как «тело». .txt "и сохраните вложения как они изначально назывались.

Примечание: после этого AppleScript / Users / luomat / Dropbox / Incoming / e2w / будет автоматически обработан, и файлы будут перемещены из этой папки с помощью Hazel, поэтому мне не нужно беспокоиться о конфликтах имен файлов.

TJ Luoma
источник

Ответы:

2

Попробуй это.

   using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        -- The folder to save the attachments in (must already exist)


        -- Save in a sub-folder based on the name of the rule in Mail

        set subFolder to name of theRule
        tell application "Finder"
            set attachmentsFolder to ((path to home folder as text) & "Dropbox:Attachments") as text
            if not (exists folder subFolder of folder attachmentsFolder) then
                make new folder at attachmentsFolder with properties {name:subFolder}
            end if
        end tell
        tell application "Mail"

            repeat with eachMessage in theMessages

                set {year:y, month:m, day:d, hours:h, minutes:min} to eachMessage's date sent
                set timeStamp to ("" & y & "-" & my pad(m as integer) & "-" & my pad(d) & "-" & my pad(h) & "-" & my pad(min))

                try
                    -- Save the attachment
                    repeat with theAttachment in eachMessage's mail attachments

                        set originalName to name of theAttachment
                        set savePath to attachmentsFolder & ":" & subFolder & ":" & timeStamp & " " & originalName
                        try
                            save theAttachment in file (savePath)
                        end try
                    end repeat

                    display dialog subFolder
                end try
            end repeat

        end tell
    end perform mail action with messages
end using terms from

-- Adds leading zeros to date components
on pad(n)
    return text -2 thru -1 of ("00" & n)
end pad

Я разместил более общее Автоматическое сохранение вложений в Mail.app на моем блог

markhunte
источник
Это работает, чтобы сохранить вложения. Это не сохраняет тело письма, но это менее важно для меня. Большое спасибо!
TJ Luoma
Отлично. Кажется, я получаю диалоговое окно подтверждения каждый раз, когда запускается этот фильтр. Знаете ли вы, как его можно отключить?
magma
удалите или закомментируйте «отображение подпапки диалога». Комментировать поставь - перед этим
markhunte
Я разместил более общий раздел Автоматически сохранять вложения в Mail.app в своем блоге. markosx.com/thecocoaquest/...
markhunte