Salva automaticamente allegati in Mail.app in 10.8 Mountain Lion

0

Sto tentando di salvare automaticamente l'email tutta inviata a un indirizzo (chiamiamola [email protected] ) a questa cartella /Users/luomat/Dropbox/Incoming/e2w/ (dove /Users/luomat = $HOME ).

Ecco la regola che sto usando in Mail.app:

HoimpostatounospecialeindirizzoemailperquestoscopoelostorecuperandotramitePOP3daGmail.Ilmessaggiovienecoloratoinrossoecontrassegnatocomeletto,maAppleScriptnonsembrafunzionare.

HoprovatodueallegatiAppleScript"Salva posta" che ho trovato online, ma nessuno dei due funziona.

(Puoi trovarli su link se vuoi vederli.)

Mi chiedo se forse le regole di Sandboxing in Mail.app 10.8 impediscano il corretto funzionamento di questo o se lo stia facendo semplicemente male. Non sono sicuro di come risolvere AppleScript dalle regole di Mail.app e non conosco realmente AppleScript, ho appena modificato quei due script che ho trovato online per adattarli a quello che voglio fare.

Ecco cosa sto cercando di realizzare (Idealmente):

  1. Se l'e-mail è di solo testo, basta salvare il messaggio in / Users / luomat / Dropbox / Incoming / e2w / usando qualcosa come "Subject Line from email address.txt"

  2. Se l'e-mail ha allegati, crea una cartella in "/ Users / luomat / Dropbox / Incoming / e2w /" utilizzando l'Oggetto dell'email come nome della cartella, quindi salva il corpo dell'email come testo in quella cartella come "body.txt" e salva gli allegati come fossero chiamati originariamente.

Nota: dopo questo AppleScript, i file / Users / luomat / Dropbox / Incoming / e2w / verranno elaborati automaticamente e i file verranno spostati fuori da quella cartella usando Hazel, quindi non ho davvero bisogno di preoccuparmi delle collisioni dei nomi dei file.

    
posta TJ Luoma 12.11.2012 - 17:20
fonte

1 risposta

2

Prova questo.

   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

Ho pubblicato un allegato più generale di salvataggio automatico in Mail.app sul mio blog

    
risposta data 12.11.2012 - 22:15
fonte

Leggi altre domande sui tag