This is the behavior of Postfix: the mail will be returned to sender if the destination can't be found but will be deferred if the destination can't be reachable.
It's different between NOT FOUND and CAN'T BE REACHABLE. NOT FOUND means send NDR to sender (situation you meet now), but CAN'T BE REACHABLE means defer and retry. So please change your transport file to: a) Use one internal A record (eg: app.host.com), and such A record point to all your app servers: * smtp:[app.host.com]:25 Or b) try below format (below format will query MX record): * smtp:app-mx.host.com:25 2013/8/1 Drew Mazurek <d...@veoci.com> > I have a question about smtp_defer_if_no_mx_address_found. Our > cloud-based app servers handle application-specific mail that's destined > for them, and these servers aren't static -- new ones are brought up and > old ones are shut down as needed. A special internal MX record (I'll call > it app-mx.host.com) tracks which servers are currently available to > receive mail. app-mx.host.com does not have an associated A record > because there is no single machine that represents that domain name. > > Now there should never be a case where all servers are dropped from the MX > record, but if it does occur, we'd like our Postfix instances to defer the > message and retry. I thought smtp_defer_if_no_mx_address_found would > handle it, but testing that out, the message bounces because of the lack of > an A record (or any record for that matter). In that case, I get the > following log message: > > Jul 31 13:28:07 ip-xx-yy-zz-aa postfix/smtp[1608]: 3E9281CA4: to=< > a...@host.com>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.4, > status=bounced (Host or domain name not found. Name service error for name= > app-mx.host.com type=A: Host not found) > > Is there a configuration that will do what I want -- if a domain doesn't > exist at all, Postfix will defer rather than bounce? > > Thanks, > Drew >