wrong script

can you notice any error/s in my script?.. it doesn’t work!

#notice spammers via e-mail
:local ipspam
:local provan
:local nspam
:foreach i in=[ /ip firewall address-list find list=spammers ] do={
  :set ipspam [ /ip firewall address-list get $i address ] 
  :set provan [ /ppp active find address=$ipspam ]
  :set nspam [ /ppp active get $provan name ]
  /tool e-mail send to=aaaa@xxxx.yy subject=spammer body="$ipspam, $nspam"
}

thanks in advance for your help

I believe you need to use quotes in a couple more places.

#notice spammers via e-mail
:local ipspam
:local provan
:local nspam
:foreach i in=[ /ip firewall address-list find list=“spammers” ] do={
:set ipspam [ /ip firewall address-list get $i address ]
:set provan [ /ppp active find address=$ipspam ]
:set nspam [ /ppp active get $provan name ]
/tool e-mail send to=“aaaa@xxxx.yy” subject=“spammer” body=“$ipspam, $nspam”
}

Thanks for your reply.

It doesn’t seem to be a problem of quotes..
however I modified the script according to your suggestions but still doesn’t work

any other hint for me?

Try to debug script line by line to see where it stops working.