Based on you code i notice that you are sending an email directly from you web page on your domain.
For example you used an @hotmail.com address.
When the recipient receive the emails the mail service of the recipient may test a reverse DNS of the sender of the mail. So the sender is from
@hotmail.com but the mail comes from your domain which of course is not hotmail.com.
So I receive a mail from an address
@hotmail.com but the IP sender isn't related at all with domain hotmail.com: that's SPAM!
I think a possible solution is: in you PHP code use authenticate with SMTP and from there send the mail!