If some emails are getting through then the contact form is definitely working. Are you sending a lot of tests yourself? This can sometimes trigger the mail server into assuming you're spamming, so might be quarantining or not delivering emails. I've never used Yahoo mail, so I don't know what their rules are - you could maybe raise a support ticket with them?