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!
http://en.wikipedia.org/wiki/Reverse_DNS_lookup
I think a possible solution is: in you PHP code use authenticate with SMTP and from there send the mail!