Cut and paste this into a Script Editor window, compile and save to /Library/Scripts/Mail/Script menu.

Change the Spam_Path variable as appropriate.
You might want to comment out the two SAY lines <G>


[quote]
(*  copy the source of the  selected message to the disignated spam folder.
    Change the variable 'Spam_Path' as appropriate for your system.
Save this script in /Library/Scripts/Mail/Scripts Menu. If you end the file name
with ___ctl-Z you can use Ctrl-Z with  a message selected to run it *)

tell application "Mail"
activate
set sel_messages to (selection)
set message_ref to (item 1 of sel_messages)
set mail_source to (source of message_ref) as string
set theSubject to (subject of message_ref) as string
end tell

set Spam_path to (alias "Macintosh HD:Users:BAzz:Spam:") as string
set file_spec to (Spam_path & theSubject) as file specification

set ref_num to (open for access file_spec with write permission)
try
set eof_byte to (get eof ref_num)
write (mail_source & return) to ref_num starting at (eof_byte + 1)
close access ref_num
on error
close access ref_num
say "Error" using "Trinoids"
end try
say "Done" using "Trinoids"
tell application "Finder" to activate -- just to update the Finder and show the file