yuryg
This is a pretty complex script, but I found that the current way of attaching Mail, pretty much sucks!
 
If you attach mail by the current method here are the problems.
1. You have to be at that computer
2. You can not be portable (meaning can not export the brain in to a site brain, or text brain and still have mail readable)
3. You have no idea what the message states, and you must open up the Email to see and read it.
 
It was not to my liking as I want to use this for a few things like keeping track of certain items (even though I use a program that is separate for my ToDo's), also to use it for reference.
 
So I created this script. What it does is a few things, it will take the selected message from Mail, and do the following things with it.
 
1. Use the personal ID code for it, so you can open up the Mail message from anywhere.
2. Create a PDF message and attach it in to the brain.
3. Attach the text based version (which looks horrible) in to the Notes field.
 

Quote
yuryg
Version 1.0 of the Script

-- TheBrain Email IMport and Attachment
-- Written by Yury German <yury (at) technologysecure.com>
-- Version: 1.00
-- Date of Change: 2013-01-03
-- 
-- About this script:
-- 1. Takes the Mail that is selected in Mail Program (one only)
-- 2. Creates a PDF of the Mail and puts it on the desktop temporarily
--   Note: If the file exists it deletes it first.
-- 3. Rename Current Brain Message to 
--    Email From: <name> ~ Subject: <subject>
-- 4. Add the message URL as an attachment, the Message URL is a permenant
--    record of the mail message no matter where you move it. It is able to
--    be accessed using this.
-- 5. Paste the text version of the Email in the notes field (for quick reference although it looks very ugly)
-- 6. Attach the PDF file and bring it in to the brain.


set myFilePath to "Macintosh HD:tmp"
set pdfSavePath to "/tmp/"

tell application "Mail"
tell application "Mail" to activate
-- Get the Selection in Mail
set theSelection to selection
-- Get the ShortHeader
set theHeader to the all headers of item 1 of theSelection
set theShortHeader to (paragraph 1 of theHeader & return & paragraph 2 of theHeader & return & paragraph 3 of theHeader & return & paragraph 4 of theHeader & return & paragraph 5 of theHeader & return)
-- Get the Subject of the Message
set theSubject to subject of item 1 of theSelection
-- Get the Sender name Only
set theSender to (extract name from sender of item 1 of theSelection)
-- Get the Content of the message
set theBody to content of item 1 of theSelection
-- Get the Message ID so that we can use it as a Link Later
set theMessageID to the message id of item 1 of theSelection
set myid to the id of item 1 of theSelection
set theMessageURL to "message:%3C" & theMessageID & "%3E"
set myDate to date sent of item 1 of theSelection
set myMonth to month of myDate
set myDay to day of myDate
set myYear to year of myDate
set myFullDate to (myYear & "-" & myMonth & "-" & myDay) as rich text

set myFileName to ("Email-" & myFullDate & "-ID-" & myid & ".pdf")
set myFile to (myFilePath & ":" & myFileName)
tell application "Finder"
if exists file myFile then
delete file myFile
end if
end tell


-- Now we start the work
--
-- Personal Brain uses WINDOWS so that messes up the display
-- We have to convert the Message of the Body to use returna and linefeed
set MacText to paragraphs of theBody
set {oldDelims, my text item delimiters} to {my text item delimiters, (return & linefeed)}
set myBody to MacText as rich text
set my text item delimiters to oldDelims


-- Set the Thought Name to E-Mail From and Subject
set ThoughtName to ("E-Mail From: " & theSender & " ~ Subject: " & theSubject) as string

-- Need to Set the Full Body of the message so that it comes out the way I want it
set myMail to ("
" & theShortHeader & return & "
 
 
" & return & myBody)

-- We will now create the PDF of the E-Mail so we can attach it.
tell application "System Events"
tell application process "Mail"
click menu item "Print…" of menu "File" of menu bar item "File" of menu bar 1
repeat until exists sheet 1 of window 1
delay 0.2
end repeat
tell sheet 1 of window 1
click menu button "PDF"
repeat until exists menu 1 of menu button "PDF"
delay 0.2
end repeat
click menu item "Save as PDF…" of menu 1 of menu button "PDF"
end tell
repeat until exists (sheet 1 of sheet 1 of window 1)
delay 0.2
end repeat
keystroke myFileName
delay 0.2
keystroke "g" using {command down, shift down}
repeat until exists sheet 1 of sheet 1 of sheet 1 of window 1
delay 0.2
end repeat
tell sheet 1 of sheet 1 of sheet 1 of window 1
set value of text field 1 to pdfSavePath
delay 0.4
click button "Go"
end tell
repeat while exists sheet 1 of sheet 1 of sheet 1 of window 1
delay 0.2
end repeat
tell sheet 1 of sheet 1 of window 1
click button "Save"
end tell
repeat while exists sheet 1 of sheet 1 of window 1
delay 0.2
end repeat
repeat while exists sheet 1 of window 1
delay 0.2
end repeat
end tell
end tell
end tell

-- 
-- Time to do the things we do in TheBrain

tell application "TheBrain" to activate
tell application "System Events"
tell application process "TheBrain"
-- This will Change the Name of the Selection in The Brain to 
-- Email From: <name> ~ Subject: <subject>
click menu item "Rename/Edit" of menu "Thought" of menu bar item "Thought" of menu bar 1
delay 0.2
set the clipboard to ThoughtName
delay 0.2
keystroke "v" using {command down}
delay 0.1
keystroke return
delay 0.5
-- Now it is time to add the body of the message so that you can 
-- have it for reference when not using primary mac
set the clipboard to myMail
-- NOTE: Focus on Tools > Uses default Command M
-- Ther are no menu items for this, so we must rely on shortcuts
delay 0.5
keystroke "m" using {command down}
delay 0.2
keystroke "v" using {command down}
delay 0.5
-- Now we are going to add an attachment mail URL so that we can
-- have the information about mail at any time
set the clipboard to theMessageURL
delay 0.2
click menu item "Add Attachment..." of menu "Thought" of menu bar item "Thought" of menu bar 1
-- Pause for .5 second for pop-up
repeat until exists window "Add Attachment"
delay 0.2
end repeat
-- Since we do not have applescript in TheBrain (I wish they did) then we have to use
-- the usibility magic to do this.
tell window "Add Attachment"
delay 0.2
keystroke tab
delay 0.1
keystroke tab
delay 0.1
keystroke tab
delay 0.1
keystroke tab
delay 0.1
keystroke space
end tell
repeat until exists window "Add URL Attachment"
delay 0.2
end repeat
tell window "Add URL Attachment"
keystroke "v" using {command down}
delay 0.1
click button "OK"
end tell
-- Now for the final act, we are going to attach the PDF
-- we created in the first step.
delay 0.5
click menu item "Add Attachment..." of menu "Thought" of menu bar item "Thought" of menu bar 1
repeat until exists window "Add Attachment"
delay 0.2
end repeat
-- Since we do not have applescript in TheBrain (I wish they did) then we have to use
-- the usibility magic to do this.
tell window "Add Attachment"
delay 0.2
keystroke tab
delay 0.1
keystroke space
delay 0.2
end tell
repeat until exists window "Select File"
delay 0.2
end repeat
tell window "Select File"
keystroke "g" using {command down, shift down}
repeat until exists sheet 1
delay 0.2
end repeat
set value of text field 1 of sheet 1 to pdfSavePath
delay 0.4
click button "Go" of sheet 1
delay 0.2
keystroke myFileName
delay 0.2
click button "Open"
delay 0.2
end tell
tell menu "Thought" of menu bar item "Thought" of menu bar 1
tell menu "Attachments" of menu item "Attachments"
click menu item "Move File into Brain"
end tell
end tell

end tell
end tell
Quote

Newsletter Signup  Newsletter        Visit TheBrain Blog   Blog       Follow us on Twitter   Twitter       Like Us on Facebook   Facebook         Watch Us on Youtube  YouTube       

TheBrain Mind Map & Mindmapping Software     Download TheBrain Mind Mapping Software