Who is supposed to get what message? You're blaming Yahoo for a problem that is shared by everyone who ever had email? Here's what I do. It's called "whitelisting." It's the only way to ensure that you never get spam. It is a bit of work to set up, and can be a pain for any friends you overlook, but it's worth it. These instructions are for GMail. You can do the same thing with Outlook, but other than GMail, I am not aware of any free e-mail provider with the proper features:
First, choose a password. The purpose of the password will become clear later. For this example, I'll use the password, "whitelist".
Second, set up a second gmail account. For this example, we will suppose that this second account is "account2@gmail.com".
SET UP THIS FILTER IN GMAIL
From: -(myfriend@gmail.com OR mymom@yahoo.com OR myemployer.com OR mychurch.org OR .edu OR .gov)
Subject: -(whitelist)
Action: Skip Inbox, Forward it to account2@gmail.com, Delete it.
SET UP THIS "VACATION RESPONDER" IN ACCOUNT2
You are receiving this message because you have sent me an e-mail, but you are not on my whitelist. Your message to me was automatically deleted. If you believe that you should be on my whitelist, then send me an e-mail with the subject line, "whitelist" (without quotes). Regardless of the sender, I receive all e-mails whose subject is, "whitelist".
Now you will only receive e-mail from people (or domains) in your whitelist. If you've overlooked anybody, they can send you an e-mail titled, "whitelist", and you will get it. Then you'll have the option to add them to your filter, above. If you are expecting an e-mail that you don't get, then you can check Account2, where everything that's not on your whitelist goes.
HINTS
Putting mychurch.org into your filter will allow you to receive e-mail from anybody whose address ends in @mychurch.org.
Putting .gov into your filter will allow you to receive e-mails from any US government agency. Same goes for .edu. I've never received spam from .gov, .edu, or .mil
Here are some common domains you may want in your filter:
google.com (this isn't gmail.com. This will allow you to get e-mail message from the Google company)
amazon.com
newegg.com
yourbank.com
youremployer.com
youtube.com
anydomainyoucompletelytrust.com
Also, if you own your own domain, then it wouldn't hurt to add that.