Enregistrer automatiquement les pièces jointes dans Mail.app dans 10.8 Mountain Lion

0

J'essaie de sauvegarder automatiquement tous les courriels envoyés à une adresse (appelons-le [email protected]) dans ce dossier /Users/luomat/Dropbox/Incoming/e2w/(où /Users/luomat = $HOME).

Voici la règle que j'utilise dans Mail.app:

entrez la description de l'image ici

J'ai configuré une adresse e-mail spéciale à cette fin et je la récupère via POP3 à partir de Gmail. Le message est coloré en rouge et marqué comme lu, mais AppleScript ne semble pas fonctionner.

J'ai essayé deux pièces jointes AppleScript "Enregistrer le courrier" que j'ai trouvées en ligne, mais aucune d'entre elles ne fonctionne.

(Vous pouvez les trouver à http://share.luo.ma/temp/mail-app-applescript/ si vous voulez les voir.)

Je me demande si les règles Sandboxing dans Mail.app 10.8 empêchent que cela fonctionne, ou si je ne le fais pas correctement. Je ne sais pas comment résoudre les règles AppleScript à partir de règles Mail.app, et je ne connais pas vraiment AppleScript, je viens de modifier ces deux scripts trouvés en ligne pour qu'ils correspondent à ce que je veux faire.

Voici ce que j'essaie d'accomplir (idéalement):

  1. Si l'email est en texte brut, enregistrez simplement le message dans / Users / Luomat / Dropbox / Incoming / e2w / en utilisant quelque chose comme "Ligne d'objet de l'email address.txt".

  2. Si l'e-mail comporte des pièces jointes, créez un dossier dans "/ Users / luomat / Dropbox / Incoming / e2w /" en utilisant l'objet de l'e-mail en tant que nom de dossier, puis enregistrez le corps de l'e-mail sous forme de texte dans le dossier "corps". .txt "et enregistrez les pièces jointes sous le nom d'origine.

Remarque: après cet AppleScript, le fichier / Users / luomat / Dropbox / Incoming / e2w / sera automatiquement traité et les fichiers seront déplacés de ce dossier à l'aide de Hazel. Je n'ai donc pas vraiment besoin de m'inquiéter des conflits de noms de fichiers.

TJ Luoma
la source

Réponses:

2

Essaye ça.

   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

J'ai posté un plus général Enregistrer automatiquement les pièces jointes dans Mail.app sur mon blog

markhunte
la source
Cela fonctionne pour enregistrer les pièces jointes. Cela ne sauve pas le corps de l'email, mais c'est moins important pour moi. Merci beaucoup!
TJ Luoma
Excellent. Il semble que je reçois une boîte de dialogue de confirmation chaque fois que ce filtre est exécuté. Savez-vous comment il peut être désactivé?
Magma
supprimer ou commenter "afficher le sous-dossier de dialogue". Pour commenter mis - avant cela
markhunte
J'ai posté un plus général Enregistrer automatiquement les pièces jointes dans Mail.app sur mon blog markosx.com/thecocoaquest/…
markhunte