I wrote such a script years ago, he does his job, creating a full faked msg
(mta + original msg + delivery status), and then connects to the same smtp
server the spamer used (if possible) to be a bit more faked...

I used it for months, but finally I got frustrated due almost all spamers are
using inexistent email addresses.
I can send it to you, or if there are any interest I cna upload it somewhre,
I wrote it when I was learning arexx so do not expect something pro....
anyway, doing this is not recomended, aside if he is effective or no, you can
get very large spams and what you can obtain only is waste your bandwidth.
I recommend you to do a script like the follow (this is what Im using todays,
since the servers where I have accounts had some kind of spam filter):
that script should connect to all your pop3 servers to check all your emails
addresses, using STAT check if you have new emails,if any: loop through all msg
numbers using "TOP <#> 0", then the email headers are returned, now reading
line by line check if a "X-Spam" string match in a line and if so delete it.
something like:
....
do i=0 TO msgs
send("TOP "x" 0");
do until eof(smtp)
ln = readln(smtp); quelofollen = 0;
if pos("X-Spam-Flag: YES",ln)>0 | pos("X-Spam-Level: ****",ln)>0 then quelofollen = 1;
else if word(ln,1)=="X-Spam-Score:" then do
if left(strip(word(ln,2)),1)>2 then quelofollen = 1;
end
else if word(ln,1)=="X-Spam-Warning:" then do
if strip(word(ln, words(ln)-1))>20 then quelofollen = 1;
end
if quelofollen == 1 then do
send("DELE "x); LEAVE;
end
end
end
.......
I think this is a good way to avoid spams, and you do not lost bandwidth
downloading the entire spam, also my script uses the amigados command 'say'
to let me know how many emails I have and how many spams was deleted on
intervals of 20 minutes, saving the subjects to a log in ram: in case
something goes wrong..
btw, I've not tested but seems YAM can do this.
regards.