Guardar automáticamente archivos adjuntos en Mail.app en 10.8 Mountain Lion

0

Estoy intentando guardar automáticamente el correo electrónico todos enviado a una dirección (llamémoslo [email protected] ) a esta carpeta /Users/luomat/Dropbox/Incoming/e2w/ (donde /Users/luomat = $HOME ).

Aquí está la regla que estoy usando en Mail.app:

Heconfiguradounadireccióndecorreoelectrónicoespecialparaestepropósito,ylaestoyobteniendoatravésdePOP3desdeGmail.Elmensajeestáencolorrojoymarcadocomoleído,peroparecequeAppleScriptnofunciona.

HeprobadodosarchivosadjuntosAppleScript"Guardar correo" que encontré en línea, pero ninguno de ellos funciona.

(Puede encontrarlos en enlace si desea verlos).

Me pregunto si quizás las reglas de Sandboxing en Mail.app 10.8 impiden que esto funcione, o si simplemente lo estoy haciendo mal. No estoy seguro de cómo solucionar problemas de AppleScript desde las reglas de Mail.app, y realmente no conozco AppleScript, acabo de editar los dos scripts que encontré en línea para que se ajusten a lo que quiero hacer.

Esto es lo que estoy tratando de lograr (idealmente):

  1. Si el correo electrónico es de texto simple, simplemente guarde el mensaje en / Users / luomat / Dropbox / Incoming / e2w / usando algo como "Línea de asunto de la dirección de correo electrónico.txt"

  2. Si el correo electrónico tiene archivos adjuntos, cree una carpeta en "/ Users / luomat / Dropbox / Incoming / e2w /" usando el Asunto del correo electrónico como el nombre de la carpeta y luego guarde el cuerpo del correo electrónico como texto en esa carpeta como "body.txt" y guarde los archivos adjuntos como se llamaron originalmente.

Nota: después de este AppleScript, / Users / luomat / Dropbox / Incoming / e2w / se procesarán automáticamente y los archivos se eliminarán de esa carpeta con Hazel, por lo que realmente no tengo que preocuparme por las colisiones de nombres de archivos.

    
pregunta TJ Luoma 12.11.2012 - 17:20

1 respuesta

2

Prueba esto.

   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

He publicado un archivo más general de Guardar automáticamente archivos adjuntos en Mail.app en mi blog

    
respondido por el markhunte 12.11.2012 - 22:15

Lea otras preguntas en las etiquetas