This is a problem I have too. What type of hosting plan do you have? I am guessing you're on a shared hosting package and that another site or more on the same physical server as your site has been sending spam / junk.
As I understand it the email providers will block all emails coming from the same server / IP address, so you are punished for the abuse by others.
I am looking for a either shared hosting but which offers unique IP address, or a dedicated server.
I also understand that you can seperate your email from your hosts, and do this through another provider. I haven't looked into that option though, but heard it is possible.
I do have shared hosting, however I checked it the ip of my server is blocked somewhere and it does not seem to be that way.
would different hosting be the solution? I wonder, since the email address itself remains the same. Don't they also look at the address of who send the mail?
IF you haven't seen any bounces then it is very likely that your own filters are blocking them. Fix that and you should find out the reason pretty quickly.
I know that in my situation it is because of other users on the shared server. The email providers such as yahoo and hotmail don't just look at the email address, but from where it was sent from, i.e. the server's IP.
Why not let them read your advice on your website, instead of sending them via email?
I went through some similar problems when I switched from shared host to a VPS. The problem was some incorrect and/or missing DNS records. Spam filters work on sliding scale, as each thing got fixed the email went from being dropped into a blackhole to no problems at all.
There was free tool available for checking this but its now a pay for tool and I don't think I could list the link even if it was still free. anyhow I'd look into and also research getting a SPF record.
The more you legitimize your mail the less likely that it will get dropped or flagged as spam.
Concluding some of the responses, I think it will be good to at least give the dedicated hosting a try.
Dedicated server is not a solution. You may have other problems.
One of my servers hosts a gay website (non adult, non porn). No other websites on the same machine. IP address isn't blacklisted and no spam/bulk mail is being sent from this server.
More than 6 months hotmail.com didn't accept any emails with passwords which were sent to the new members of this website. Emails to @hotmail.com just disappeared without bouncing back.
All emails were sent from non-existing address like email@example.com. When I changed "from" address to the existing one, hotmail.com started to accept emails (autimatically putting them in "junk" folder).
At the same time hotmail.com accepts emails from non-exixting addresses which are sent from my other servers. The only difference is the domain name (only emails with word "gay" in the domain name were sent to the blackhole, others were delivered). A few months ago I submitted a support ticket @ Hotmail/Microsoft website, but it doesn't looks that this company is going to send some answer.
I suggest to use SMTP servers instead of PHP mail() function (if you are doing this).
Check if your web server has reverse DNS records - this is very important.
i guess gcan and the others said it all. let me try to put in my pennys worth.
i had one customer who had the same problem as you, after a while of him complaining we found out that the IP was blacklisted, i dont rememeber where the site is that you can check, but it tells you by IP or domain name if you are blacklisted. what we did is pointed the emails to another server from the shared hosting he had (this is done by changing the MX records. on that website you also get a option to ask them to take it off by telling them who you are and why you send mail. (search in google for "is my ip blacklisted"
a lot of domain name registrants give you email addresses for FREE when you have the domain with them. godaddy i think gives 1 for free.
it is also possible that your domain name is blacklisted, but that is unlikely. it can happen if a lot of spammers register on your site and you try to mail them. if it is your domain name that is blacklisted you can only try to find the lists and ask them to take it off.
another possibility and very possible is what was mentioned before by gcan, the way you send mail from your server. we had almost the same problem last week, when we were sending autoated respomses from our server, gmail didnt get it at all and hotmail was getting it, what we did is change the way it was sending from adding a smtp password to sending directly via the server smtp and that solved the problem. we are sending from asp.net (personally i would suggest calling your shared server hosting company and speak to them, normally they tend to say we dont deal with those issues but i am sure you wouldnt be the only one!)
most likely causes are 1: the way the code sends the email 2: the IP address is blacklisted.
talking about email i do suggest you should get google apps we added it on various domains and it works great for sending and recieving.