Mail-Anhänge speichern

S

sushi-berlin

Aktives Mitglied
Thread Starter
Dabei seit
11.09.2007
Beiträge
177
Reaktionspunkte
5
Hallo nochmal,

ich hatte m Forum bereits etwas zum Thema "Anhänge speichern" unter Mail gefunden: Entweder über "Ablage/Anhänge speichern" oder per Script möglich. Ein solches hatte jemand netterweise hochgeladen. Leider hat es bei mir nicht funktioniert:

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

set theOutputFolder to "Macintosh HD:Users:Sascha:Desktop:"


tell application "Mail"
set theMessage to item 1 of theMessages
set theAttachments to every attachment of content of theMessage
repeat with a from 1 to length of theAttachments
set theAttachment to item a of theAttachments
try
set theAttachmentName to name of theAttachment
set theSavePath to theOutputFolder & theAttachmentName
save theAttachment in theSavePath
end try
end repeat
end tell

end perform mail action with messages
end using terms from

Funktioniert das script bei mir nicht, weil ich es nicht im Zusammenhang mit einer Regel anwende? Dürfte doch daran gar nicht liegen, oder?
 
Funktioniert das script bei mir nicht, weil ich es nicht im Zusammenhang mit einer Regel anwende? Dürfte doch daran gar nicht liegen, oder?

Genau das ist der Fall: Dieses Skript muss unbedingt als sogenanntes Regel-Skript von Mail ausgeführt werden, sonst funktioniert es nicht,

Denn Mail übergibt dem Skript ja in der zweiten Zeile die zu verarbeitenden eMail-Nachrichten.

Ansonsten müsste man eben einen run-Handler definieren, der z.B. ausgewählte Nachrichten in Mail verarbeitet.

Viele Grüße

Martin
 
Danke für Deine Antwort.

Zumindest habe ich einigermaßen verstanden, warum das Script nicht funktioniert. Wie kann ich denn folgendes bewerkstelligen:

1. Mehrere Mails im Posteingang "händisch" markiert
2. Script starten, in dem die Mail-Anhänge in einem bestimmten Zielordner gespeichert werden.

Inwieweit muss ich das Script ändern? Wahrscheinlich einen Befehl einfügen, bei dem ich die Ausführung zunächst auf die markierten Mails beschränke, oder?

Bin leider sehr grün bei dem Thema, sorry.
 
Bin leider sehr grün bei dem Thema, sorry.

Gar kein Problem, war ja selber mal grün bei dem Thema :D

Hier eine kleine Hilfe, getestet unter Mac OS X 10.6:

Code:
set savefolderpath to "Macintosh HD:Users:martin:Desktop:"

tell application "Mail"
	activate
	set mailmsgs to selection as list
	repeat with mailmsg in mailmsgs
		--return properties of mailmsg
		set atms to every mail attachment of mailmsg
		repeat with atm in atms
			try
				set atmname to name of atm
				set atmfilepath to (savefolderpath & atmname)
				save atm in atmfilepath
			end try
		end repeat
	end repeat
end tell
 
Wow ... bin beeindruckt!

Die Anhänge beim Speichern auch noch gleichzeitig zu benennen: Sehr cool! :cool:

Brauch ich zwar nicht, aber macht - wie schon viele andere AScripte die ich kennengelernt habe - immer mehr Laune, mich mal tiefer in die Materie zu begeben. Wenn der Zeitaufwand nicht so heftig wäre. Ich bin nämlich eigentlich dabei, mich in Filemaker einzuarbeiten (für meinen Job), aber da AScript ja auch in Filemaker verwendet werden kann, werde ich um Ascript wohl irgendwann nicht mehr herum kommen.

Auf jeden Fall 1000 Dank schon mal, und nen schönen Abend noch
mit besten Grüßen von
Sascha
 
Ach so, Dein Script klappt übrigens auch auf 10.5.8 ;)
 
Zip Datei aus mail entpacken und zip-file löschen?

Hallo zusammen,

anhand der guten Erklärung hier, wird nun der Anhang von der Mailregel und dem applescript am gewünschten Ort gespeichert. Danke, das war hilfreich!

Kann ein gezippter Mailanhang dabei auch direkt entpackt werden und danach die zip-Datei gelöscht werden? Habe schon versucht Safari Einstellungen zu ändern, aber das hilft nicht, da nur mail involviert ist. Weiß jemand Rat?

Viele Grüße

Martin
 
Hallo Martin,

das könntest Du z.B. via "do shell script" ausführen.
Schau Dir mal im Terminal "man zip" an.

Viele Grüße
 
Geht auch mit AS direkt.

Hier mal ein Beispiel zur Demo:
Code:
tell application "Finder" to set theArchive to (get selection as alias)
tell application "Archive Utility" to open theArchive
-- Achtung: hier unbedingt Fehlerkontrolle einbauen
tell application "Finder" to delete theArchive
 
Hallo Maceis + little_pixel
danke für die Tips, ich muß mich noch in die Syntax von Applescript und shellscript einlesen.
Script habe ich wie folgt angepaßt aber es funktioniert nicht.

set savefolderpath to "Macintosh HD:Users:martin:Documents:....usw"

tell application "Mail"
activate
set mailmsgs to selection as list
repeat with mailmsg in mailmsgs
--return properties of mailmsg
set atms to every mail attachment of mailmsg
repeat with atm in atms
try
set atmname to name of atm
set atmfilepath to (savefolderpath & atmname)
save atm in atmfilepath
end try
end repeat
end repeat
tell application "Finder" to set theArchive to (get selection as alias)
tell application "Archive Utility" to open theArchive
-- Achtung: hier unbedingt Fehlerkontrolle einbauen
-- tell application "Finder" to delete theArchive
end tell

Ich war wohl etwas zu kreativ, da ich nun ein cgpz Archiv habe. Wie baue ich den Pfad ein, muß ich die obige Anweisung set savefolderpath noch einmal wiederholen? Bisher landet die Datei nicht in dem gewünschten Folder.
Was muß ich nun ändern?
Viele Grüße
 
Zurück
Oben Unten