Knowledge base

PMTA knowledge base›Block <domain>›Directive§ 3.3.10.87

max-smtp-out-per-source-ip

<domain>deprecated

Deprecated in favor of source-ip-max-smtp-out
in the configuration this is a linemax-smtp-out-per-source-ipinside the block <domain>
The former name, kept only for the sake of old configurations

The manual gives this line two lines: the “deprecated” mark and a pointer to source-ip-max-smtp-out. There is no syntax, no default, no description of behavior there — the vendor considers the matter closed.

What to do if you find it in a configuration. Replace it with the new name one to one: the meaning is the same — a ceiling on simultaneous connections to the receiver from an individual sending address. At the same time check enable-source-ip-limits-on-sending-ip: it appeared later and decides which address counts as outgoing.

Leaving it as is is not a good idea. A directive without a description in the manual is a directive whose behavior nobody promises: in the next edition it may simply stop being read, and the node will refuse to start with an unclear line in the configuration.

The main trap. The line causes no error during configuration checking and therefore survives moves from version to version unnoticed. It is found only by searching for its name — nobody shows it specifically.
What the Hub does. It does not write it and will not: it does not break limits down by address at all, because each sending address has exactly one outgoing address — smtp-source-host, and proxy gateway addresses have smtp-proxy-source-host. If the line turns up on a node, it came from a configuration written before the Hub.
Recommended values

There are no recommended values and there cannot be. The only right action is replacing it with source-ip-max-smtp-out while keeping the former number, and then calculating by the rules of the new directive.

From the manual here there is only the deprecation mark and the replacement’s name; everything else is our guidance on what to do with the line in an inherited configuration.
Example configuration
# before — in a configuration inherited from someone else
<domain comcast.net>
    max-smtp-out-per-source-ip 1.2.3.4 10
</domain>

# after
<domain comcast.net>
    source-ip-max-smtp-out 1.2.3.4 10</domain>
The replacement is literal: the mask and the number carry over as is. Check the switch at the same time — it appeared later and changes which address counts as outgoing.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
▲

Common mistakes and problems

what people get wrong and how it ends1 mistake▶

Leaving the line because it does no harm

§ 3.3.10.87

What it costsThe configuration is accepted without errors, and the line lives for years. But the manual no longer describes it: no syntax, no default, no promise that the next version will read it.
How to spot itAfter an engine upgrade the node does not start, and the startup error file shows an unclear configuration line.
How to do it rightReplace it with source-ip-max-smtp-out in advance, not at the moment of the upgrade.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
Reference data
Syntax
max-smtp-out-per-source-ip <cidr-and-limit>
Values
the manual gives no syntax — only the deprecation mark
Applying
reload, no restart needed
Queue
will not touch what is already queued
Where to write it
<domain>
How many times
once in the block
Everything here comes from the manual, with the section.
Inheritance
The manual gives no merge rules for the deprecated directive. Presumably they are the same as the replacement’s: <domain> blocks merge from general to specific. Do not rely on it; the line should be replaced.
How to check on the node
The only check needed is whether it is in the node’s configuration at all, including the included files:
grep -rn max-smtp-out-per-source-ip /etc/pmta/
An empty response is good. If the line is found, replace it with source-ip-max-smtp-out and reload the configuration. The Hub does not search for such lines: it has no comparison of node configurations against the catalog, and it overwrites its own configuration entirely — after an apply from the Hub the line will not remain on the node.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing
Scenarios
Configuration lifecycle