Mail follows certain 'protocols' (or procedures) and part of it is that when you fetch your mail from the server, the message appears to the sender as "mail delivered to a valid address" so the bots know it's a valid address & keep sending junk (plus spread your address to other spammers).
Merely 'deleting' from your mail viewing application will not stop this cycle. 'Block sender' fails because it only blocks that specific sender & once the 'bots' discover your address, all they have to do is change a single character of the senders name, and they start getting their junk through again (depending on your filtering settings).
You want to end the notification of a valid address, back to the sender, by way of the Mail Server (your ISP).
Get a program that will examine while mail is on the server, and 'bounce' selected mail back to the spam sender ; in effect saying, 'This address is invalid' and they eventually stop sending junk. (Not instantly, but a "blacklist" is made, & it begins stopping spam).
Also, never 'click here to unsubscribe' or send ANY form of communication back to them: it only verifies that a live person is on your end of things.
'Mailwasher' Free, (1 POP3 mail account) works fairly well.
Paid version can handle web based mail, like Yahoo.
http://www.snapfiles.com/Freeware/comm/fwspam.html
More app's here also.
A well know & trusted site.
After installing have these items displayed: 'Bounce' & 'Attachments' (never open any attachments, even from friends), and any other items you want.
To examine mail, hit the 'Check Mail' button, then sift through the mailbox; check "Bounce" for spam, delete stuff you just don't want to fiddle with, then "Process".
Mail can then be fetched in the normal manner.