Ako upokojiť TheBatistu Mailom v OS X

Skriptami. AppleScript a Automator. Keďže to neovládam komplexne ale riešim si aktuálne potreby, skúsim to s drobnosťou. Automatickým ukladaním prílohy z definovaného filtra príchodzích mailov.

Obligátne Mail v OS X vie triediť došlú poštu. Jedna z položiek je spustenie AppleScriptu. To je krok od automatizovaného spracovania. Chodí mi napr. faktúra z Orange či výpisy z banky. Už ma uráža ich každý mesiac tým istým postupom gorily ukladať. Takže som našiel skript, ktorý to urobí automaticky.

Otvoril som daný filter, ktorý mi premiestňuje maily od Orange do mailovej zložky. Pridal som do neho ďalšiu akciu a to spustenie nasledujúceho skriptu.

on perform_mail_action(ruleData)
   
    -- The folder to save the attachments in (must already exist)
    set attachmentsFolder to ((path to home folder as text) & "Documents:Attachments") as text

    -- Save in a sub-folder based on the name of the rule in Mail
    set subFolder to name of |Rule| of ruleData as text
    tell application "Finder"
       if not (exists folder subFolder of folder attachmentsFolder) then
           make new folder at attachmentsFolder with properties {name:subFolder}
       end if
   end tell

    -- Get incoming messages that match the rule
    tell application "Mail"
       set selectedMessages to |SelectedMessages| of ruleData
        repeat with theMessage in selectedMessages
           
            -- Get the date the message was sent
            set {year:y, month:m, day:d, hours:h, minutes:min} to theMessage's date sent
            set timeStamp to ("" & y & "-" & my pad(m as integer) & "-" & my pad(d) & "-" & my pad(h) & "-" & my pad(min))

            -- Save the attachment
            repeat with theAttachment in theMessage's mail attachments
               set originalName to name of theAttachment
                set savePath to attachmentsFolder & ":" & subFolder & ":" & timeStamp & " " & originalName
                try
                   save theAttachment in savePath
               end try
           end repeat
       end repeat
   end tell

end perform_mail_action

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

Všimnite si, že skript má ukladať prílohy do zložky Documents, Attachments. Potom si všimnite, že pridáva každému súboru do názvu timestamp a ešte niečo, automaticky vytvorí podzložky identické s názvom filtra, v ktorom je tento skript použitý.

Postup: v prvom rade spustite aplikáciu AppleScript Editor, preneste zdroják skriptu a skompilujte ho. Potom ho niekam uložte.

Vo filtroch Mail aplikácie už len pridajte aktivitu na spustenie tohto skriptu.

Written by rony