1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Mail-Regel: Attachment automatisch öffnen

Dieses Thema im Forum "AppleScript" wurde erstellt von ams, 30.11.07.

  1. ams

    ams Erdapfel

    Dabei seit:
    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
     
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    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.
     
  3. ams

    ams Erdapfel

    Dabei seit:
    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
     

Diese Seite empfehlen