On 10 Mar 2020, at 10:26, Catalin Bucur wrote:

Hello,

I have a question about how Postfix generate warning messages about non-existent domains, non-existent MX domain names or for timeout connecting to a destination mail server. In fact, my real problem is that postfix does not warn me about nothing when I incorrectly write the domain name for an email address AND by chance that domain exists but does not have configured MX record on its DNS.

For example for a non-existent domain I receive almost instantly the message /"t...@asdasdasd.ro <mailto:t...@asdasdasd.ro>: Host or domain name not found. Name service error for name=asdasdasd.ro type=A: Host not found"/ For an existing domain but without MX, I receive the error /"Host or domain name not found. Name service error for name=onedomain.com type=MX: Host not found, try again)"/, but AFTER /maximal_queue_lifetime/, which is very annoying. In this case the sender finds out only after 5 days about the real problem.

This should only happen in cases where the target domain has no MX record but does have an A record, and the host at the A record's IP has no mail service.

Fallback to A records is a standard part of how SMTP works. MX records are not required for mail delivery and never have been.

Is there any way to modify postfix configuration to inform the sender about such a problem instantly and to retry to send message until /maximal_queue_lifetime/ expires?

Not instantly, but you CAN warn the user sooner by setting a short non-zero delay_warning_time. It should probably be at least as long as a slow DNS lookup might take.

From the postconf(5) man page:

  delay_warning_time (default: 0h)
The time after which the sender receives a copy of the message of mail that is still queued. The confirm_delay_cleared parameter controls
    sender notification when the delay clears up.

To enable this feature, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
    The default time unit is h (hours).

See also: delay_notice_recipient, notify_classes, confirm_delay_cleared.




--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not For Hire (currently)

Reply via email to