• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Mail-Regel: Attachment automatisch öffnen

ams

Erdapfel
Registriert
30.11.07
Beiträge
4
Hallo Zusammen,

ich bin absoluter Neuling was AppleScript angeht und versuche gerade ein kleines Script zu entwickeln, dass ich in Mail als Regel einbinden möchte. Es soll einfach ein Attachment (meeting.ics) ausführen / öffnen und die Email als gelesen makieren. Durch das Ausführen des Anhangs würde iCal erkennen, dass es sich um einen Termin handelt und ihn entsprechend eintragen.

Problem: Wenn mehrere Emails mit dem gleiche Attachment kommen, sollte das Script das berücksichtigen...

Ich hoffe Ihr könnt mir helfen...

Viele Grüße,
ams
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Moin,

ich würde da eine Kombination aus einer Mail-Regel und einem Folder-Script machen. Das Script zum Speichern der Attachments schaut ungefähr so aus:

Code:
property myAttachments : "path:to:the:attachmentfolder:"

using terms from application "Mail"
	on perform mail action with messages selectedMessages for rule theRule
		repeat with theMessage in selectedMessages
			tell application "Mail" to set allAttachments to mail attachments of theMessage
			repeat with theAttachment in allAttachments
				beep
				tell application "Mail" to set attName to (name of theAttachment)
				set uniqueAttName to my uniqueSaveName(attName, myAttachments)
				tell application "Mail" to save theAttachment in (myAttachments & uniqueAttName)
			end repeat
		end repeat
	end perform mail action with messages
end using terms from

on uniqueSaveName(fileName, destFolder)
	set uniqueName to fileName
	if (my existsFile(destFolder & uniqueName)) then
		set {od, text item delimiters} to {text item delimiters, "."}
		set fNameParts to text items of fileName
		set suffix to 0
		if ((count of fNameParts) > 1) then
			set fNameBase to (text items 1 thru -2 of fNameParts) as text
			set fNameExtension to text item -1 of fNameParts
			repeat while my existsFile(destFolder & uniqueName)
				set suffix to suffix + 1
				set uniqueName to (fNameBase & "_" & suffix & "." & fNameExtension)
			end repeat
		else
			repeat while my existsFile(destFolder & uniqueName)
				set suffix to suffix + 1
				set uniqueName to (fileName & "_" & suffix)
			end repeat
		end if
		set text item delimiters to od
	end if
	return uniqueName
end uniqueSaveName
on existsFile(thisFile)
	try
		get alias thisFile
		return true
	on error
		return false
	end try
end existsFile

Für den Rest müsste man wissen, wie das Script festellen soll, ob die Attachments gleich sind. Wenn man die eintreffenden mit allen früheren Attachments Byte für Byte vregleichen müsste, dann könnte das etwas mühsam werden ;)

Grüße,

D.
 

ams

Erdapfel
Registriert
30.11.07
Beiträge
4
Hi D.

ich probiere es heute Abend gleich aus und melde mich! Vielen, vielen Dank dass Du Dir die Arbeit gemacht hast. Ist wirklich klasse!!!

Viele Grüße,
ams