Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Script zum automatisierten Speichern von Mail-Anhängen

Script zum automatisierten Speichern von Mail-Anhängen

Fantin25.10.1721:19
Hi!

Ich möchte gerne in Mail eine Regel erstellen, in die ein Script eingebunden ist, die entsprechende Anhänge in meine Dropbox speichert.
Das Script sieht so aus:
using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        set attachmentsFolder to "Macintosh HD:Users:meinname:Dropbox" as rich text
        tell application "Mail"
            set selectedMessages to theMessages
            try
                repeat with theMessage in selectedMessages
                    repeat with theAttachment in theMessage's mail attachments
                        set originalName to name of theAttachment
                        set savePath to attachmentsFolder & originalName
                        save theAttachment in file (savePath)
                    end repeat
                end repeat
            end try
        end tell
    end perform mail action with messages
end using terms from

Allerdings funktioniert es leider nicht. Mit meinem recht begrenzten Wissen zu Scripts im Allgemeinen fällt mir die Fehlersuche schwer.
Könnte mir jemand behilflich sein?

Danke,
Julius
0

Kommentare

udrabo
udrabo25.10.1723:25
Hallo Julius,

einen Fehler habe ich gesehen: In Zeile 3 fehlt beim Pfad für attachmentsFolder nach "Dropbox" ein Doppelpunkt:
set attachmentsFolder to "Macintosh HD:Users:meinname:Dropbox:"
Weiter unten hängst Du ja den Dateinamen an diesen Textstring an. Bei Dir sähe das dann so aus: "Macintosh HD:Users:meinname:DropboxNamedesanhangs". Richtig wäre das Ergebnis "Macintosh HD:Users:meinname:Dropbox:Namedesanhangs"

Außerdem kannst Du meiner Meinung nach auf den Zusatz "as rich text" verzichten. Wenn überhaupt, reicht hier "as text" – die Pfadangabe muss ja nicht mit Formatierungen & Co versehen werden, sondern ist ein purer Textstring.

Ob noch mehr hakt, kann ich auf die Schnelle nicht sagen. Ich habe es noch nicht ausprobiert …

Viel Erfolg,
Udo
+2
Fantin25.10.1723:40
udrabo
einen Fehler habe ich gesehen: In Zeile 3 fehlt beim Pfad für attachmentsFolder nach "Dropbox" ein Doppelpunkt:
Danke für deine Hilfe, Udo! Genau das war der Fehler!
+1
udrabo
udrabo26.10.1700:18
Das ist mir früher selbst so oft passiert, dass ich inzwischen auf diese Muster geeicht bin.
0
Fantin26.10.1719:25
Eine kurze Frage noch: Wie könnte ich das Script abändern/ergänzen, sodass es nur Daten mit einer bestimmten Endung (z.B. .pdf) abspeichert?
0
udrabo
udrabo27.10.1723:43
Hey Julius – sorry, hatte jetzt erst gesehen, dass Du noch eine Frage nachgeschoben hast:

using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        set attachmentsFolder to "Macintosh HD:Users:meinname:Dropbox:" as rich text
        tell application "Mail"
            set selectedMessages to theMessages
            try
                repeat with theMessage in selectedMessages
                    repeat with theAttachment in theMessage's mail attachments
                        set originalName to name of theAttachment
                        if originalName ends with ".pdf" then
                            set savePath to attachmentsFolder & originalName
                            save theAttachment in file (savePath)
                        end if
                    end repeat
                end repeat
            end try
        end tell
    end perform mail action with messages
end using terms from

Ich habe einfach in der Schleife, die die Anhänge abarbeitet eine Prüfung eingefügt, ob der Name des Anhangs auf .pdf endet.

Gruß,
Udo
+1

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.