-- Downloaded From: http://c-command.com/scripts/spamsieve/apple-mail-move-if-spam -- Last Modified: 2012-03-26 property markSpamMessagesRead : false on run tell application "Mail" set _messages to the selection as list my processMessages(_messages) end tell end run on perform_mail_action(info) tell application "Mail" set _messages to |SelectedMessages| of info my processMessages(_messages) end tell end perform_mail_action on processMessages(_messages) set _spamFolderName to getStringDefault("AppleMailTrainSpamName", "Spam") repeat with _message in _messages my processMessage(_message, _spamFolderName) end repeat end processMessages on processMessage(_message, _spamFolderName) tell application "Mail" set _source to source of _message tell application "SpamSieve" set _isSpam to looks like spam message _source end tell if _isSpam then my moveToSpamFolder(_message, _spamFolderName) end if end tell end processMessage on moveToSpamFolder(_message, _spamFolderName) tell application "Mail" try set junk mail status of _message to true end try if markSpamMessagesRead then try set read status of _message to true end try end if try set _account to (account of mailbox of _message) set mailbox of _message to (mailbox _spamFolderName of _account) on error _error try if not (exists mailbox _spamFolderName) then make new mailbox with properties {name:_spamFolderName} end if set mailbox of _message to mailbox _spamFolderName on error _error display dialog _error end try end try end tell end moveToSpamFolder on getStringDefault(_key, _defaultValue) tell application "SpamSieve" set _keys to {_key} set _defaultValues to {_defaultValue} try set {_result} to lookup keys _keys default values _defaultValues on error set {_result} to _defaultValues end try return _result end tell end getStringDefault