Apple Mail - Block Sender
Summary: Adds rules to SpamSieve’s blocklist for the selected message’s sender.
Requires: SpamSieve, Apple Mail
Install Location: ~/Library/Scripts/Applications/Mail
Last Modified: 2019-10-02
Description
This script is not intended for most customers because the “Train as Spam” command already blocks senders.
Normally, when you train a message as spam, SpamSieve will create blocklist rules for the sender name and address and also train SpamSieve’s Bayesian classifier. This script is for just creating the blocklist rules, when SpamSieve has already correctly classified the message as spam (so it’s not necessary to use the “Train as Spam” command), but you still want to make sure SpamSieve knows that the sender is very spammy. This ensures that future messages from that sender will go directly to the trash without excessively training the Bayesian classifier and filling up the corpus.
Installation Instructions · Download in Compiled Format · Download in Text Format
Script
on
run
tell
application
"Mail"
set
_messages
to
the
selection
as
list
my
processMessages(
_messages)
end
tell
end
run
on
processMessages(
_messages)
try
repeat
with
_message
in
_messages
my
processMessage(
_message)
end
repeat
on
error
_errorMessage
my
logToConsole("Error processing message: " &
_errorMessage)
end
try
end
processMessages
on
processMessage(
_message)
tell
application
"Mail"
set
_address
to
extract address from
_message's
sender
set
_name
to
extract name from
_message's
sender
end
tell
tell
application
"SpamSieve"
tell
blocklist
-- SpamSieve automatically prevents duplicate rules
make
rule
with properties
{
text to match:
_address,
match field:
from field
,
match style:
exact style
}
make
rule
with properties
{
text to match:
_name,
match field:
from name field
,
match style:
exact style
}
end
tell
end
tell
end
processMessage
on
logToConsole(
_message)
set
_logMessage
to
"SpamSieve [Apple Mail Block Sender] " &
_message
do shell script
"/usr/bin/logger -s " &
_logMessage's
quoted form
end
logToConsole