max-attemptsimportantWritten by the HubdirectiveHow many delivery attempts a message may consume before it is given up on.max-delivertimeimportantWritten by the HubdirectiveSeconds from acceptance after which a message is abandoned, however many attempts remain.retry-intervalimportantWritten by the HubdirectiveComma-separated list of waits between attempts: ten minutes twice, half an hour twice, an hour twice, then two hours.delayed-durabledirectiveWhether the delay-step queues are declared durable.delayed-queuesdirectiveNumber of delay steps declared at start-up; each step waits twice as long as the one before, so the count decides the longest single wait.rabbitmq-retriesdirectiveRouting key under which a message that failed temporarily is published to wait for its next attempt.temporary-expiresdirectiveTime to live on a temporary queue: after it expires, mail held there because of throttling or a pause goes back to the sending queue.How MailerQ waits between attemptsimportantmechanismRetry waiting is done by the broker, not the engine: a message is published into a queue whose messages expire after a fixed time and whose expiry routes them back to the sending queue.The three limits that end an undelivered messageimportantWritten by the HubmechanismA message stops being retried when the retry list is exhausted, the attempt count is reached, or the deadline passes — and the shipped values for the three do not line up.outbox+NNNNimportantqueueEleven queues where retries wait, each expiring into the next and finally back into the sending queue.connection_offlinetimeimportantWritten by the Hubdatabase fieldAfter a failed connection or handshake, how long the engine stops trying that receiving address.maxattemptsimportantWritten by the Hubmessage propertyHow many attempts this message may consume, overriding the node's limit of a hundred.maxdelivertimeimportantWritten by the Hubmessage propertyThe moment after which this message is abandoned, set from the node's default at acceptance and overridable per message.nextattemptWritten by the Hubmessage propertyDelays the first attempt until a given time.retriesWritten by the Hubmessage propertyIntervals between attempts for this message, replacing the node's list.maxdelivertimeresult propertyThe moment the message would have been abandoned, as it stood for this message.x-mq-maxdelivertimeimportantemail headerSets the moment after which this message is abandoned.x-mq-delayedemail headerHolds the message until the given time before the first attempt.x-mq-maxattemptsemail headerLimits how many attempts this message may consume.x-mq-retriesemail headerComma-separated intervals between attempts for this message.