3 votos

Guardar archivos adjuntos de Correo electrónico.aplicación basada en el tema

He estado tratando de escribir un Applescript para que me ayude a guardar archivos adjuntos, pero pronto se dieron cuenta de que no tengo el conocimiento para hacer tan difícil de secuencia de comandos. Aquí hay algunos antecedentes.

A diario recibimos informes de ventas y manifiestos de vuelo. El formato en el asunto debe ser: dd.mm.yyyy/"two letter airline code".DSR.Weight.

I. e. 30.01.2013/VS.DSR.1110KG

En el caso de el manifiesto, en el mismo formato, sustituto DSR con MNFST.

I. e. 30.01.2013/VS.MNFST.1110KG.

Sin embargo, hay un sinnúmero de variaciones sobre el tema, y que todos somos humanos, y a veces , se utiliza, o más / etc. Nuestro personal son grandes y trabajar muy duro, y lo último que me necesitas hacer es estar en su caso, sobre el tema de los formatos.

Por lo tanto, yo estaba tratando de obtener un Applescript para mirar las dos cosas que siempre están en el tema. Las compañías aéreas código de dos letras, y la palabra DSR o MNFST/MFST/Manifest

Disponemos de los siguientes códigos de dos letras, a veces en el bajo, o en mayúsculas o en una mezcla.

CV VS SAA TK DHV LH

Ahora el DSR puede ser en el sujeto en un número de maneras, no siempre separados, es decir,. 30.01.2013/VSDSR1110KG

Mismo se aplica para MNFST/MFST/Manifest.

Idealmente, necesito un script para el trabajo en dos partes:

DSR:

  1. Compruebe el asunto para el vuelo de código y DSR
  2. Guardar el .xls apego a /DSR/Aerolínea código de dos letras
  3. Si el Archivo es más reciente (la corrección podría ser enviado más tarde ese día/a la mañana siguiente.), agregar 1, si otra 2 etc.

I. e. 30.01.2013/VS.DSR.1110KG.xls: Macintosh HD/Users/(My username)/Dropbox/DSR/VS I. e. 30.01.2013/CV.DSR.1110KG.xls: Macintosh HD/Users/(My username)/Dropbox/DSR/CV

Manifiesto (a Veces un .xls/.pdf/.zip archivo. Esto varía.)

  1. Compruebe el asunto para el vuelo de código y (Manifiesto o MNFST o MFST)
  2. Guardar el .xls/.pdf/.zip el apego a los Manifiestos/línea Aérea de dos letras del código de línea aérea
  3. Si el archivo es más reciente (I. e. un conflicto con el archivo con el mismo nombre. Una corrección puede ser enviado más tarde ese día/a la mañana siguiente.), agregar 1, si otra 2 etc.

I. e. Para VS: Macintosh HD/Users/(My username)/Dropbox/Manifests/VS

A partir de las 3 horas que pasé intentando esto y no llegar a ninguna parte rápido, pensé que alguien podría encontrar esto un reto interesante, y sería muy apreciada!

Mientras tanto, voy a leer sobre Applescript en mi tiempo libre, herramienta muy poderosa y ahorro de tiempo!

4voto

Malik hassan Puntos 16

Primero, cree una regla que busca CUALQUIER de Manifiesto en todas las variaciones o DSR

Así:

enter image description here

A continuación, en guardar este script (asumiendo que usted está utilizando 10.8 Mountain Lion. ) En la carpeta ~/Library/Application Scripts/com.apple.correo/

    using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule

        set codeList to {"CV", "VS", "SAA", "TK", "DHV", "LH"}
        set subFolder to ""
        set theDate to do shell script "date +%Y_%m_%d_%H%M%S"
        --set ruleName to name of theRule





        -- The folder to save the attachments in (must already exist)
        tell application "Finder" to set attachmentsFolder to ((path to home folder as text) & "Dropbox:DSR") as text

        tell application "Mail"

            repeat with eachMessage in theMessages
                set theSubject to subject of eachMessage
                repeat with i from 1 to number of items in codeList
                    set this_item to item i of codeList
                    if theSubject contains this_item then

                        set subFolder to this_item

                    end if
                end repeat
                if (count of (eachMessage's mail attachments)) > 0 then


                    try

                        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
                        -- Save the attachment
                        repeat with theAttachment in eachMessage's mail attachments

                            set originalName to name of theAttachment
                            set savePath to attachmentsFolder & ":" & subFolder & ":" & originalName

                            tell application "Finder"

                                if (exists file originalName of folder subFolder of folder attachmentsFolder) then
                                    set savePath to attachmentsFolder & ":" & subFolder & ":" & theDate & "_" & originalName
                                end if
                            end tell
                            try
                                save theAttachment in file (savePath)



                            end try
                        end repeat


                    end try

                end if

            end repeat

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

Y el punto de Ejecutar Applescript.

Si usted está utilizando una anterior de Mac OS. Entonces usted debería ser capaz de colocar el script donde quiera.

Eso es todo.

Mis pruebas todos han trabajado. Pero ya es tarde aquí y debería estar en la cama. Así, hágamelo saber si alguno de los temas y voy a tratar y ordenar. :-)

La única cosa a tener en cuenta es que he añadido un sello de tiempo en lugar de un número para el mismo nombre de los archivos. Es más fiable.

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