I've just created a wiki page on culturedcode that develops the application called "Things" - a GTD based task management tool, that I really like.
The wiki page can be found here: http://www.culturedcode.com/things/wiki/index.php/AppleMailToThings and it describes how to automatically create new Things todo items from the currently selected message in Mail.
I've also pasted the code here in my blog (below, miniaturized).
tell application "Mail"
set selectedMessages to selection
if (count of selectedMessages) is equal to 0 then
else
set theMessage to item 1 of selectedMessages
set theSubject to subject of theMessage
set theMessageId to message id of theMessage
set theSender to sender of theMessage
set message_url to "" & ¬
"" & ¬
theSubject & ¬
""
tell application "Things"
set newToDo to make new to do ¬
with properties {name:theSender & ¬
" : " & theSubject, due date:current date, ¬
notes:message_url} ¬
at end of list "Mails To Answer"
-- just be sure we register to Grown
tell application "GrowlHelperApp" to ¬
register as application ¬
"Things Integration" ¬
all notifications {"Mail linked to Things"} ¬
default notifications {"Mail linked to Things"}
tell application "GrowlHelperApp" to ¬
notify with name "Mail linked to Things" ¬
title (theSubject) ¬
description "Mail linked to Things" ¬
application name "Things Integration" ¬
priority 0 sticky no icon of application "Mail.app"
end tell
end if
end tell