• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 498
  • Last Modified:

Mail scripting

Okay, I have a unique requirement.

I get 800 emails per day, and I want to sort them by the first 3 characters of the attachment name.
95% of them have an attachment that starts with 3 numbers that indicate what group the email belongs to.  The attachment name might be "01807.jpg"

I would like to sort the emails into individual folders based on the attachment names.  "01807.jpg" makes a folder named 018 and puts the message in there.

I was provided this applescript, but I will admit- I am not a programmer and understand NONE of it, and need to know what to do with it, aside from saving the script file.  I've done that.

Any help to make this work is appreciated.

The mail is in a MAPI mailbox named "WORDPRESS"  and the folders can be under that mailbox.

Thanks for the help!

using terms from application "Mail"
	on perform mail action with messages TheMail
		tell application "Mail"
			repeat with ThisMail in TheMail
				if (count of mail attachments of ThisMail) > 0 then
					set AttName to name of first mail attachment of ThisMail
					set AttName to (items 1 thru 3 of characters of AttName) as string
					if not (exists mailbox AttName) then
						make new mailbox with properties {name:AttName}
					end if
					move ThisMail to mailbox AttName
				end if
			end repeat
		end tell
	end perform mail action with messages
end using terms from
 
using terms from application "Mail"
	on run
		tell application "Mail" to set sel to selection
		tell me to perform mail action with messages (sel)
	end run
end using terms from

Open in new window

0
TIgerV
Asked:
TIgerV
  • 5
  • 3
1 Solution
 
AGoodKeenManCommented:
That should work fine. Goto /Applications/AppleScript/ and open the AppleScript Utility, you will find an option to enable the script menu in menu bar. Then with Mail active, open the script menu and select "Open Mail Scripts Folder" and save your script into this folder.
Now with all the new emails selected run this script from the script menu.
0
 
TIgerVAuthor Commented:
Outstanding!  Thank you very much.  I am still testing a few things, but I think this is gonna do exactly what I need.
0
 
TIgerVAuthor Commented:
Okay, it is working, but.....

Saving the mail to "on my mac" in a folder.  How do I tell it to save it to a folder on the IMAP account?

If this is working tonite (974 emails), this should be a 1,000 point question.  :-D

Thanks!
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
TIgerVAuthor Commented:
I just found out I can select them and Drag them back, but it would be quicker and easier to allow them to remain on the IMAP.
0
 
AGoodKeenManCommented:
Ok I'm working on it, I need the name of your IMAP account?
0
 
AGoodKeenManCommented:
Try this one and see how it goes. You will need to add your IMAP account name on line 7.
using terms from application "Mail"
	on perform mail action with messages TheMail
		
		-- In the line below replace "myAccountNameGoesHere"
		-- with the name of your IMAP account
		
		set IMAP_Account to "myAccountNameGoesHere"
		
		tell application "Mail"
			tell account IMAP_Account
				repeat with ThisMail in TheMail
					if (count of mail attachments of ThisMail) > 0 then
						set AttName to name of first mail attachment of ThisMail
						set AttName to (items 1 thru 3 of characters of AttName) as string
						set AttName to "WORDPRESS/" & AttName
						if not (exists mailbox AttName) then
							make new mailbox with properties {name:AttName}
						end if
						move ThisMail to mailbox AttName
					end if
				end repeat
			end tell
		end tell
	end perform mail action with messages
end using terms from
 
using terms from application "Mail"
	on run
		tell application "Mail" to set sel to selection
		tell me to perform mail action with messages (sel)
	end run
end using terms from

Open in new window

0
 
TIgerVAuthor Commented:
Thanks.  I'll put that in and see how it goes.   I will get the mail blast at about 4pm.
0
 
TIgerVAuthor Commented:
OUTSTANDING!  You have done it.  

Thank you very much.  I tried it with a test mail that I had in the queue from a while back.

Tony
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now