Wietse Venema: > Wietse Venema: > > Tobi: > > > I wonder if the following idea is somehow "do-able" in postfix. We have > > > a fallback postfix instance which gets all mails that our scanners could > > > not send to our customers target server. Now the fallback tries to > > > submit those msg to our customers. Sometimes our customers do not know > > > how to manage dns and delete an important record (like the a-rec for the > > > target server). We do not manage their zones, that's done by themselves. > > > > > > Now we thought that it would be very nice if we could "tell" our > > > fallback instance that in case of NXDomain in DNS lookup of a target > > > server to return a DEFER (4xx) instead of a REJECT (5xx). > > > I found soft_bounce parameter in the docs but that seems too wide, as we > > > would only soft bounce in case of NXDomain results of target servers and > > > not for any other reason. Is it possible to use smtp_dns_reply_filter to > > > filter for NXDomain results and return a DEFER action? > > Of course Postfix can, it just isn't called smtp_dns_reply_filter > > Instead, use smtp_delivery_status_filter. > > The filter is invoked with a string of the form : > > enhanced-status-code SPACE explanatory-text > > For example: > > 5.4.4 Host or domain name not found. Name service error for... > > So the following could do the trick for your fallback relay host: > > /etc/postfix/main.cf: > smtp_delivery_status_filter = pcre:/etc/postfix/fallback_status_filter
Corrected text: The '5' needs to be outside the (). /etc/postfix/fallback_status_filter: /^5(\S+\s+Host or domain name not found.+)/ 4$1 This changes the hard error into a soft one, and is more selective than setting soft_bounce=yes. Wietse >