Posts

Post not yet marked as solved
0 Replies
85 Views
I used this script to automatically save attachments of some incoming messages in apple mail. Sine Monterey, this doesn't work anymore. Syntax check gives no errors, but in my mail rules the script doesn't run at all. I did a lot of research to find a solution, with no success. Any help is appreciated. Marcus This is the code … using terms from application "Mail" on perform mail action with messages theMessages for rule theRule -- set up the attachment folder path tell application "Finder" set folderName to "WebApp-Beiträge Mail" set attachmentsFolder to ("Volumes:Daten HD:Workspace:Universität_Saarland:projekte_Universität_Saarland:2070_uni_2101_WebDev_WebApp:struktur_text_navigation_2070:Beiträge:" & folderName) as text end tell tell application "Mail" repeat with eachMessage in theMessages --set the sub folder for the attachments to the senders mail address. -- All future attachments from this sender will the be put here. set subFolder to (extract address from reply to of eachMessage) -- set up the folder name for this mail message's attachments. We use the time stamp of the  date received time stamp set {year:y, month:m, day:d, hours:h, minutes:min} to eachMessage's date received --set timeStamp to (y & "-" & my pad(d) & "-" & my pad(m as integer) & "_" & my pad(h) & "-" & my pad(min)) as string -- month as number set timeStamp to (y & "-" & my pad(m as integer) & "-" & my pad(d) & "_" & my pad(h) & "-" & my pad(min)) as string -- month as number yyy-mm-dd --set timeStamp to (y & "_" & my pad(d) & "-" & m & "_" & my pad(h) & "-" & my pad(min)) as string set attachCount to count of (mail attachments of eachMessage) if attachCount is not equal to 0 then -- use the unix /bin/test command to test if the timeStamp folder  exists. if not then create it and any intermediate directories as required if (do shell script "/bin/test -e " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder & "/" & timeStamp) & " ; echo $?") is "1" then -- 1 is false do shell script "/bin/mkdir -p " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder & "/" & timeStamp) end if try -- Save the attachment repeat with theAttachment in eachMessage's mail attachments set originalName to name of theAttachment set savePath to attachmentsFolder & ":" & subFolder & ":" & timeStamp & ":" & originalName try save theAttachment in file (savePath) end try end repeat --on error msg --display dialog msg end try end if end repeat end tell end perform mail action with messages end using terms from on pad(n) return text -2 thru -1 of ("0" & n) end pad
Posted Last updated
.