0 votos

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

Estoy tratando de guardar automáticamente todo correo electrónico enviado a una dirección (llamémosla test@example.com ) a esta carpeta /Users/luomat/Dropbox/Incoming/e2w/ (donde /Users/luomat = $HOME ).

Esta es la regla que estoy utilizando en Mail.app:

enter image description here

He configurado una dirección de correo electrónico especial para este propósito, y la estoy obteniendo a través de POP3 desde Gmail. El mensaje se colorea de rojo y se marca como leído, pero el AppleScript no parece funcionar.

He probado dos archivos adjuntos de AppleScript "Save Mail" que he encontrado en Internet, pero ninguno de ellos funciona.

(Puede encontrarlos en http://share.luo.ma/temp/mail-app-applescript/ si quieres verlas).

Me pregunto si tal vez las reglas de Sandboxing en Mail.app 10.8 están impidiendo que esto funcione, o si simplemente lo estoy haciendo mal. No estoy seguro de cómo solucionar los problemas de AppleScript de las reglas de Mail.app, y realmente no sé AppleScript, sólo he editado esos 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 plano, basta con guardar el mensaje en /Users/luomat/Dropbox/Incoming/e2w/ utilizando algo como "Subject Line from email address.txt"

  2. Si el correo electrónico tiene archivos adjuntos, cree una carpeta en "/Users/luomat/Dropbox/Incoming/e2w/" utilizando el Asunto del correo electrónico como 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 llamaban originalmente.

Nota: después de este AppleScript la carpeta /Users/luomat/Dropbox/Incoming/e2w/ será procesada automáticamente y los archivos serán movidos fuera de esa carpeta usando Hazel, así que no necesito preocuparme por las colisiones de nombres de archivos.

2voto

Malik hassan Puntos 16

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 artículo más general sobre Guardar automáticamente los archivos adjuntos en Mail.app en mi blog

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X