It might be getting spam blocked since it isn't actually coming from a yahoo server and that is the from address you are using. It is best to use a valid email address from your domain as the from. If you want to send from yahoo, then you might want to try authenticated SMTP instead of plain mail when sending.