Postfix says mail sent ok, message does not arrive in ISPs inbox? no reject in log

emailisppostfix

When I send a test message from my mail server to my @bellsouth.net email, The postfix log shows it was sent OK, but the message never arrives in my bellsouth inbox. Shouldn't I get a failure notice or a bounce if At&T is blocking the messages?

I'm trying to troubleshoot why some customers aren't getting emails, but if there's nothing in mail.log to say the message is rejected, how do I know which messages were delivered successfully?

The log shows:

Feb 27 09:02:36 MyHOSTNAME postfix/pickup[26175]: D53A72713E5: uid=0 from=<root>
Feb 27 09:02:36 MyHOSTNAME postfix/cleanup[26487]: D53A72713E5: message-id=<20120227140236.D53A72713E5@example.com>
Feb 27 09:02:36 MyHOSTNAME postfix/qmgr[5595]: D53A72713E5: from=<root@example.com>, size=878, nrcpt=1 (queue active)
Feb 27 09:02:37 MyHOSTNAME postfix/smtp[26490]: D53A72713E5: to=<myemail@bellsouth.net>, relay=gateway-f1.isp.att.net[204.127.217.16]:25, delay=0.57, delays=0.11/0.03/0.23/0.19, dsn=2.0.0, status=sent (250 ok ; id=20120227140036M0700qer4ne)
Feb 27 09:02:37 MyHOSTNAME postfix/qmgr[5595]: D53A72713E5: removed

The AT&T server accepted the message, right?

I happen to have an At&T/Bellsouth email, but I don't have an account with every ISP we send to. I need some way of knowing if a message is getting to its destination or not. Is there any setting in my main.cf file that would affect whether or not we get reject/bounce notices?

Best Answer

The dsn=2.0.0 and a correct relay= means that Bell's mail server has accepted the message. However, this doesn't mean that it will allow the message to be delivered to the user's mail box. In this instance the most likely explanation is that Bell South's spam filters have cleaned your message out before reaching the user's mail box or the user's own mail software has cleaned the message.

Make sure that the return email address accepts messages so that bounces return from Bell South's servers. This is also important in case you attempt to deliver mail to mail boxes on their servers that don't actually exist.

Check your mail configuration to ensure that mail isn't being flagged as spam (by mailing yourself and then checking the headers). Postfix should be writing correct headers/envelope so that mail appears to come from the domain specified in the 'from' address. So if your mail server is for mail.example.com but your server's hostname is actually mailserver.int.hostingprovider.com then postfix needs to be set to masquerade correctly as example.com. This should also correspond with your reverse DNS so that a lookup on your server's IP address returns the server address (if it isn't correct, set your PTR record to it). This can easily be checked with dig.

dig example.com
dig -x <your IP address>

You should also consider setting SPF in your DNS as it is a quick and simple addition to the anti-spam score of mail from your server.