AppleScript for Mail Attachments fails to run under 12.4

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

Hi Marcus, I was just looking for a similar solution and came across your script. I read elsewhere that since Monterey mail cannot save to outside the users download folder via AppleScript. I update your script to point to my user/downloads folder and it worked for me. Great script by the way!

AppleScript for Mail Attachments fails to run under 12.4
 
 
Q