<domain>
The message body has been sent in full, the dot is in place. The receiver has to answer 250 ok — that is, confirm the message was accepted. This wait is what this timeout measures.
This is the most ambiguous moment of the conversation. Until there is an answer, the node does not know whether the message was accepted. The receiver may have accepted it and not had time to answer; may not have accepted it; may have hung on an antivirus scan. The mail protocol does not make this distinction.
Hence the manual’s direct warning: a value that is too small will most likely lead to duplicates. The node will decide the delivery did not happen and retry the message — while the receiver has already accepted it.
Keep the default. Of all the conversation timeouts, this is the only one where shortening costs more than waiting.
If the queue is stalled, this is not the cause. A long wait for the final answer occupies a connection slot, but that is cured with the max-smtp-out ceiling, not by shortening the timeout.
Do not shorten it to speed things up after a failure. For a queue the receiver is slowing down, the answer is supposed to come slowly — that is its way of slowing you down.
# the default is kept deliberately; the queue is managed by connections, not by the timeout <domain gmail.com> smtp-data-termination-timeout 10m max-smtp-out 20 </domain>
what people get wrong and how it ends2 mistakes▶
§ 3.3.10.63
our experience
1 relation
pmta show settings gmail.com/vmta1 | grep -i data-termination-timeout pmta show queues --connected=yes --no-rcpt-events
3 articles
◇How the policy for a receiver is assembledSettings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.◇Backoff mode — the queue's second personalityA queue that a receiver has started refusing switches to a parallel set of limits, retries and routes — ten directives that act only in this mode.◇Reputation monitoring inside the nodeThe engine itself watches the receiving servers’ replies and changes the queue mode on a pattern match — a reaction within the connection, not through telemetry.