Knowledge base

Limits and pace

entries in this theme: 88
bounce-after<domain>criticalset by the HubDirectiveUntil this point the message lives in the queue and takes up disk space.max-msg-rate<domain>criticalset by the HubDirectiveIt counts both deliveries and bounces — this is not “successful messages per hour.”max-smtp-out<domain>criticalset by the HubDirectiveThe main lever of pressure on the receiver: it sees the limit multiplied by the number of your addresses.retry-after<domain>criticalset by the HubDirectiveIt can be set as a sequence: 10m, 1h, 4h — and then the pauses grow from attempt to attempt.total-max-smtp-outGlobalcriticalset by the HubDirectiveKicks in first if a queue limit is higher; on a Standard license — silently.backoff-max-msg-rate<domain>set by the HubDirectiveThe rate in backoff mode; without an explicit value the normal one is used — that is, the mode will slow nothing down.backoff-max-smtp-out<domain>set by the HubDirectiveThe only one in the family with its own default — 20, not “same as in normal mode.”backoff-retry-after<domain>set by the HubDirectiveThe retry schedule for the duration of backoff; set as a sequence.backoff-to-normal-after<domain>set by the HubDirectiveAfter what interval the queue returns to normal mode by itselfbackoff-to-normal-after-delivery<domain>set by the HubDirectiveWhether one successful delivery returns the queue to normal modebackoff-upon-all-sources-disabled<domain>DirectiveThe vendor warns directly: the queue will not come back by itself — a return timer is needed.max-connect-rate<domain>set by the HubDirectiveHow fast to open new connections to this recipient domainmax-memory-usage-percentGlobalDirectiveWhen the share of physical memory is exceeded, the node responds 452 to MAIL FROM until usage drops back below it.max-smtp-msg-rate<virtual-mta>DirectiveThe only rate limit that counts the sending address as a whole rather than each queue separately.max-smtp-out<virtual-mta>set by the HubDirectiveThe overall ceiling of the sending address. Without the line there is none at all — queues add up without limit.min-free-space<spool>set by the HubDirectiveWhen free space falls below the threshold, the directory stops accepting mail; when space comes back, receiving resumes by itself.proxy-retry-after<domain>DirectiveThe same retry step, but for the case when the connection through the proxy did not reach the receiver.reenable-source-ip-after<domain>DirectiveThe default is never: an address disabled without an explicit deadline will never come back.reserved-smtp-in<source-group>DirectiveReserves the named number of slots from the node’s overall limit for the group: others will not take them, even when the node is loaded.retry-recipients-after<domain>set by the HubDirectiveA lower bound on the pause for an address that got a 4xx response — on top of the queue’s common schedule.source-ip-max-connect-rate<domain>DirectiveNot how many connections to hold, but how often to open them — for each address separately.source-ip-max-msg-rate<domain>DirectiveThe main one in the family: the manual directly names it for those who have several IPs in one sending address.source-ip-max-smtp-out<domain>DirectiveSplits the queue limit by address: each address matching the mask gets a number of its own.spool-max-recipientsGlobalDirectiveLimits how many recipients the node holds in queues; above the ceiling, submission is refused with a temporary error. The default is to calculate from the machine’s resources.backoff-max-connect-rate<domain>DirectiveThe default is tricky: without an explicit value the regular connection rate is taken — that is, backoff does not slow connections down.backoff-max-data-volume-rate<domain>DirectiveThe same default trap: without an explicit value the regular volume limit is taken.connection-idle-timeout<domain>set by the HubDirectiveThe maximum is ten minutes: that is how long the engine is willing to keep a connection waiting for the next message.deliver-only<spool>set by the HubDirectiveThe directory is drained by delivery, and new messages are not written to it; made for bringing up the spool of a failed server.ip-connection-limitGlobalDirectiveThe same as the limit by MX name, but selection goes by addresses in CIDR notation; allowed only at the node level.max-data-volume-rate<domain>set by the HubDirectiveHow many bytes per interval, counting only successful deliveriesmax-msg-per-connection<domain>set by the HubDirectiveThe default is zero, no limit: it pays for the engine to send as much as possible over one connection.max-rcpt-per-transaction<domain>DirectiveCuts a message with a large list into several transfers: more parallelism, but the body goes to the receiver as many times as there are pieces.max-smtp-data-volume-rate<virtual-mta>DirectiveThe only ceiling that counts volume rather than messages — and only the volume that got through.max-smtp-in<source-group>DirectiveLimits how many connections a group of sources can hold to the node at once; the default limits nothing.mx-connection-limitGlobalDirectiveLimits connections to each MX matching a pattern — but for each sending address separately, not in total. The vendor advises MX rollup instead.priority<spool>DirectiveDirectories with a higher priority are always used until they fill up; with equal priority they alternate.process-x-schedule<source>DirectiveA permission for the source: with it the engine delivers a message only within the intervals named in the header; without it the message is delivered in the usual way.queue-priority<domain>DirectiveWhen there are no free connections, the engine interrupts the connections of lower-priority queues — starting with the lowest.retry-after-dns-error<domain>set by the HubDirectiveA separate, shorter step: the receiver never saw this attempt, and haste does not threaten it in any way.smtp-out-rampup-interval<domain>set by the HubDirectiveA soft start: connections are opened one at a time with a pause, not in a burst.source-ip-max-data-volume-rate<domain>DirectiveThe only one in the family that counts what was delivered rather than attempts; without a suffix the number reads as bytes.allow-priority-interruption<domain>DirectiveWith the value no the queue becomes untouchable: its connections are not taken away, however high the neighbor’s priority.allow-priority-interruption-during-transfer<domain>DirectiveWith no the interruption is postponed until the connection frees up; with yes it happens immediately, in the middle of a transfer. Only for SMTP queues.max-rcpt-per-message<domain>DirectiveThe same splitting limit under another name — and a full namesake of the reception setting from the submission block.retain-x-schedule<source>DirectiveDecides whether the recipient will see the sending windows assigned to the message; the default is to remove it.spool-delete-corruptedGlobalDirectiveMessage files with encoding errors — traces of data corruption on disk — are deleted instead of lying around idle.backoff-max-msg-per-hour<domain>deprecatedDirectiveThe replacement is backoff-max-msg-rate, and it has a default this form did not have.delete-file-holders<spool>set by the HubDirectiveHolders are files the engine leaves in the spool directory to save I/O; the line decides whether to remove them after a message is delivered.delivery-priority<domain>deprecatedDirectiveThe section contains only the deprecation mark and a pointer to the replacement: queue priority.max-msg-per-hour<domain>deprecatedDirectiveThe replacement is max-msg-rate: the same limit, but the interval is written in the value itself.max-smtp-out-per-source-ip<domain>deprecatedDirectiveThe former name of the per-address connection limit; the manual says nothing more about it.spoolGlobaldeprecatedDirectiveIt set the spool location with one line; replaced by a block that has priority, a free space threshold and modes.spool-min-free-spaceGlobaldeprecatedDirectiveIt set the threshold for all spool directories at once; replaced by the line of the same name inside the directory block.Backoff mode — the queue's second personalitycriticalMechanismA 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.How to name a queue in a commandcriticalMechanismHow to name a queue in a command argument: the same “receiving server and sending address” pair with asterisks added.Two tags the sender puts on a messagecriticalMechanismA job groups messages, an envelope identifier identifies one; the submitting side sets both, and only by them can you later select your mail in the node’s queue.Different domains in one queue, because the gateway is the samecriticalMechanismDomains whose lowest-priority MX records match the list are combined into one queue and limited as a single receiver.A queue is a receiving server together with a sending addresscriticalMechanismThe engine groups messages by the “recipient domain plus sending address” pair: one domain from two addresses is two independent queues with their own counters, connections and mode.Four ways to say “slower”criticalMechanismMessages, data volume, connection rate and number of connections — each has its own limit, and each has a “per source address” variant and a backoff mode twin.Recipients deferred after a temporary refusalMechanismA recipient to whom the receiver responded with 4xx moves into a separate waiting area with a per-receiver interval; two commands can release it early.A retry ladder of your ownMechanismretry-after and backoff-retry-after accept a list of intervals — up to 30 steps, and the last one applies until the bounce.Sending windows set in the message itselfMechanismA header carries one or more intervals during which the message may be sent; the schedule cancels the message’s lifetime, and the message bounces when the windows run out.Two priorities, and which of them winsMechanismQueue priority decides which recipients get connections first; recipient priority reorders messages within one queue and cannot overtake a queue.Merging domains into one queue by hand, by naming itMechanismThe same merging, but by your list rather than by MX match: you set the queue name.Spreading a stuck queue across several addressesMechanismRerouting not to one address but to a pool: messages are spread evenly across its members.deletecriticalCommandDeletes recipients from the queue by selection; it does not run without –queue or –jobId.pause queuecriticalCommandStops delivery for the selected queues; the messages stay in place.resume queuecriticalCommandResumes delivery of paused queues.set queuecriticalCommandSwitches queues to backoff or normal mode; stars change many queues at once.show queuescriticalCommandShows the selected queues and, unless told otherwise, the last fifty deliveries, bounces and delays; selection is by connection, mode and pause state.listCommandLists recipients in queues by selection; with –pause it interrupts a recipient’s delivery to show it.pause jobCommandStops delivery of one job’s messages.scheduleCommandImmediately schedules delivery attempts for queues without waiting for the retry interval; with an option it also releases deferred recipients.resume jobCommandResumes delivery of the job’s messages.set priorityCommandChanges the priority of the selected messages and thereby their delivery order.show jobsCommandPrints the jobs known to the node and their state.show topqueuesCommandPrints queues sorted by load.Details of one queuecriticalAPI endpointReturns one queue with short histories: the latest recipient events, errors and mode changes.Messages in the queueAPI endpointLists messages in the selected queues, filtered by job, envelope, recipient and sender.Queues with the most recipientsAPI endpointReturns the top queues — “receiver and sending address” pairs — by number of recipients; the queue parameter narrows the selection.JobsAPI endpointReturns jobs that have mail in the queue, as a top; /jobDetail returns one job.ConnectionsMetricThe number of simultaneous connections: now, the maximum and the allowed limit, in both directions.Queue depthMetricRecipients, recipient domains and kilobytes in the queue.Spool filesMetricThe number of spool files in use.Spool capacityMetricHow many recipients the spool holds now and how many it can hold at most.Three short histories for each queuecriticalMonitor screenThe page of a single queue carries the last fifty recipient events, the last ten queue errors and the last ten mode changes.QueuesMonitor screenThe top queues — “receiver and sending address” pairs — and a filter form: by connections, mode, list length and order.JobsMonitor screenJobs that have mail in the queue: recipients and volume; each has its own page.