This question already has an answer here:

Recently I have setup a mail server with Postfix, Dovecot and Squirrelmail on Ubuntu cloud server. The server has static ip address with proper MX record(mail.mydomain.net). When I send mail to Google its going to Spam and I should mark as not spam and yahoo is not at all receiving. Is there anything apart from Static ip and MX record to validate my domain name so that all external domains receive mails sent from my mail server without any problem?. Please need help...

marked as duplicate by masegaloeh, mdpc, Katherine Villyard, Ward, Sven Jan 17 '15 at 9:22

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


You might also try looking up your IP via a service like (http://mxtoolbox.com/blacklists.aspx) to ensure it is not blacklisted or identified by your ISP as being assigned to a "dynamic" IP block.

  • I was going to mention the dynamic IP block, but since he said static, I decided not to. That said, thinking about it again, I have seen cases where even some statics are in the ranges reported as dynamic by some ISPs, like Comcast. – KCotreau May 24 '11 at 3:36
  • Some ISPs do that to discourage the hosting of servers even through they are charging more for the Static IP. – user48838 May 24 '11 at 4:25
  • I checked and something 'Spamhaus' listed my ip and I removed from that site and It's been 2hrs and still the server logs shows 'spamhaus' blocker. But I could send mails directly to gmail inbox after marking as not spam. In case of yahoo it's not even receiving at spam folder. – user53864 May 24 '11 at 6:25
  • 1
    You might dig deeper into the Spamhaus listing to see what they are zeroing in on with your IP. – user48838 May 24 '11 at 16:30
  • I could send to all domains now. If there is anything I could do to avoid this happen again, please let me know. Thanks a lot!!!! – user53864 May 25 '11 at 1:12

VERY possibly you do not have a PTR record set up. Actually, when I read it again, and I saw that yahoo was not receiving it at all, change that to almost certainly.

Do this from a Windows (sorry, not familiar enough with Linux commands to know if there is any difference) command box:

  1. nslookup
  2. set q=mx
  3. yourdomain.com
  4. note the server name
  5. set q=a
  6. type in that server name
  7. note the IP address returned
  8. set q=ptr
  9. enter that IP address

Most times it will return the server name, but sometimes not. If it returns nothing, then you can be sure this is the problem.

You should also consider adding an SPF DNS record, which more and more domains are requiring to receive mail.

  • I don't have the pointer record set for the ip and nslookup shows the ISPs ptr record. Your are speaking in terms of windows and so I didn't understand q=mx, q=a. Moreover I don't have SPF reocrd and I should search how to add an spf record. – user53864 May 24 '11 at 6:29
  • 1
    Well, I was assuming that even somone dedicated to Linux would still have access to a Windows machine. What the q=mx means is to return only MX DNS records, q=a means to return only A DNS records. If you found your PTR record in another manner, that is all that counts, and based on your reply, you have the reason. Now, to fix it, you need your ISP to add a PTR record for the IP address to point to the name of your server as the outside worlds sees it in the EHLO.If you have an ISP (AT&T, for example) that does not do PTR, you will need to use a smart host to relay through since it has a PTR. – KCotreau May 24 '11 at 10:36
  • Thanks for you contribution, as 'user48838' said it was listed in the spam blocker site and after removing after some hours I could send. Thanks a lot! – user53864 May 25 '11 at 1:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.