• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

mail.app; bestimmte Anhänge automatisch sichern

smauch24

Granny Smith
Registriert
22.11.09
Beiträge
12
Hallo,
ich versuche folgendes Problem zu lösen.
Ich möchte beim Empfangen von Mails mit einem bestimmten Anhang, diesen Anhang in einen gesonderten Ordner speichern.
Mein erster Ansatz ist, dass ich einen Workflow mit Automator erstelle der mir diese entsprechende Mail sucht und den Anhang speichert. Das klappt auch ganz gut aber wie starte ich diesen Workflow automatisch wenn ich Mails empfange?
Ich habe es mit einer Regel versucht aber anscheinend kann ich damit nur Apple-Scripts ausführen aber keine Workflows.

Entschuldigt mein wahrscheinlich stümmperhaftes Vorgehen, aber ich bin in der "Apfelwelt" noch neu.

Danke,
Andre
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Frage: Nach welchem Kriterium wird die Mail bestimmt, auf die die Aktion "Anhang in Ordner" speichern angewandt werden soll?
 

smauch24

Granny Smith
Registriert
22.11.09
Beiträge
12
Also im Workflow wird die Mail über "Betreff enthält" und "Empfang heute" gesucht.
Wenn ich den Workflow laufen lasse klappt das auch.

Die Regel im Mailprogramm reagiert auf "Name eines Anhangs enthält".
Als Aktion habe ich "AppleScript ausführen" ausgewählt und dann den entsprechenden Workflow ausgewählt.
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Vielleicht hilfreich - eine Lösung basierend nur auf AppleScript:

Code:
using terms from application "Mail"
	
	on perform mail action with messages theMessages for rule theRule
		
		set numberOfMessages to count of theMessages
		if numberOfMessages = 1 then
			say "Neue Mail eingetroffen"
		else
			say "Neue Mails eingetroffen"
		end if
		-- display dialog "numberOfMessages = " & numberOfMessages
		
		tell application "Mail"
			
			-- for all received or selected mail messages
			repeat with theMessage in theMessages
				
				if theMessage's mail attachments exists then
					
					-- for all attachment files
					repeat with theAttachment in (theMessage's mail attachments)
						
						-- infos concerning the attachment
						set nameAttachment to name of theAttachment
						set mimeTypeAttachment to MIME type of theAttachment
						set filesizeAttachement to file size of theAttachment
						set downloadedAttachement to downloaded of theAttachment
						set idAttachement to id of theAttachment
						-- display dialog "nameAttachment = " & nameAttachment & linefeed & "mimeTypeAttachment =" & mimeTypeAttachment & linefeed & "filesizeAttachement = " & filesizeAttachement & linefeed & "downloadedAttachement = " & downloadedAttachement & linefeed & "idAttachement = " & idAttachement
						
						-- save the attachment to the desktop (folder "Attachments" must exist)
						save theAttachment in "Macintosh HD:Users:Klaus:Desktop:Attachments:" & nameAttachment
						
					end repeat
					
				end if
				
			end repeat
			
		end tell
		
	end perform mail action with messages
	
end using terms from


-- test driver: select one or more mails; start this script (manually) from AppleScript editor
tell application "Mail"
	set myMessages to selection
	tell me to perform mail action with messages myMessages for rule "test driver"
end tell

Folgende Zeile müßte zumindest angepaßt werden (hier wäre der gewünschte Speicherort einzutragen):
Code:
-- save the attachment to the desktop (folder "Attachments" must exist)
save theAttachment in "Macintosh HD:Users:Klaus:Desktop:Attachments:" & nameAttachment

Vorgehensweise für erste Tests:
- Script in AppleScript-Editor laden
- in Mail einige eMail selektieren
- Script im AppleScript-Editor starten

Wenn alles funktioniert:
- in Mail eine Regel definieren
- AppleScript als Aktion festlegen
- Referenz auf das auszuführende Script angeben

Tip: Die nachfolgenden Zeilen (Ansage wenn eine Mail eintrifft, auf die die Regel greift) würde ich, wenn alles funktioniert, entweder auskommentieren oder entfernen. Für die Tests sind sie aber ganz nützlich.
Code:
set numberOfMessages to count of theMessages
if numberOfMessages = 1 then
	say "Neue Mail eingetroffen"
else
	say "Neue Mails eingetroffen"
end if
 

platinracer

Granny Smith
Registriert
28.05.07
Beiträge
12
Ich habe oben angefügtes Script per Regel in Mail, seit Mountain Lion funktioniert es aber nicht mehr. Vorher ging es ohne Probleme, muss man da jetzt was ändern?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Wenn ich mich richtig erinnere, dann können Anhänge per Script nur noch im Downloadordner gespeichert werden (aus "Sicherheitsgründen")
 

platinracer

Granny Smith
Registriert
28.05.07
Beiträge
12
@Pill Ok, und gibt es da irgend eine Möglichkeit diese Dateien per Script oder Automator in einen anderen Ordner zu verschieben?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Du könntest z.B einen Ordner "Mail" in Downloads erstellen und mit einer Ordneraktion oder Hazel in den richtigen Ordner verschieben.

Vielleicht weiss aber auch jemand noch eine Möglichkeit das Verhalten von Mail-Scripts zu ändern, ich suche auch schon eine Weile nach einer besseren Lösung.