12

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?

Jenny D
  • 27,358
  • 21
  • 74
  • 110
Nick
  • 4,433
  • 29
  • 67
  • 95
  • I suppose `root@mydomain.com` is just an example. Are you sure you can receive emails on the 'from' address? Otherwise eventual non-delivery reports will be lost. – Matteo Feb 27 '12 at 14:34
  • There *is* a possibility that they have their spam countermeasures set up in a way that it accepts the mail and silently dumps them without getting to the customer inbox. – Bart Silverstrim Feb 27 '12 at 14:45
  • @BartSilverstrim, shouldn't we still get a notice from them? – Nick Feb 27 '12 at 15:07
  • 1
    Depends on how it's handled. I can set up a mail server that will accept the handoff of mail and then trash it silently. Not hard to do. And with a lot of spam today from fake addresses, sending a bounce message can add to the spam load, as someone who had nothing to do with the spam bu thad their address in the "from" would get a bounce notification for something they didn't do, burdening their sysadmin with answering where it came from. – Bart Silverstrim Feb 27 '12 at 15:43

2 Answers2

9

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.

webtoe
  • 1,946
  • 11
  • 12
  • Is it possible to set a global bounces@mydomain.com return path address in PostFix so that it always adds that to every message regardless of which person or application sends it? The reverse DNS lookup is mail.mydomain.com and mail.mydomain.com resolves to the same IP address. I did add an SPF record yesterday- I used Microsoft's tool for creating one. I added it as a txt record to mydomain.com and not mail.mydomain.com. Should it be both? Spam Assassin at my work gave the message a "-2.6". – Nick Feb 27 '12 at 15:25
  • The SPF should be on whatever is returned by `dig MX mydomain.com`. If you have no MX set, then this will be the canonified version of `dig mydomain.com`. It wouldn't hurt being on both domains though (as it is just a TXT record). As for a generic bounce collector, you could handle this with a filter in postfix that does a bcc into a separate mailbox if it finds a bounce but this is fiddly (see http://www.postfix.org/postconf.5.html#recipient_bcc_maps for the bcc mapping). Bounces should be seen by the users themselves in case they are trying to mail someone and get the address wrong. – webtoe Feb 27 '12 at 16:17
  • 2
    I think I figured out the problem: PHP was sending mail as www-data even though I had told it not to. You have to add the -f and another flag to the sendmail command to force it to use the envelope from that you want. I think ISPs trash mail from www-data. – Nick Mar 09 '12 at 06:23
  • In my own case of successfully sent but silently discarded e-mails, adding the sender address to the whitelist at the recipient site helped. Refers to a Host Europe web hosting package. – tanius Feb 21 '17 at 17:13
3
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)

Bellsouth accepted the message; it is no longer the responsibility of postfix.

Ask bellsouth what happened to it.

adaptr
  • 16,479
  • 21
  • 33