Knowledge base

PMTA knowledge base›Block Global›Directive§ 3.3.1.57.2

dummy-smtp-port

Global

The fake receiver's port — which is also its on/off switch
in the configuration this is a linedummy-smtp-port 0inside the block Global
Zero means “off”

The port on which the node listens for fake receiver connections. The default is zero, and zero here means not “any” and not “standard” but “do not listen at all”.

Hence a simple consequence: this line is the switch for the whole mechanism. You can set the address, the latency, the set of extensions — as long as there is no port, nothing works. And vice versa: setting the port is enough for the receiver to come up with the defaults of the other seven lines.

Its pair is dummy-smtp-ip: it says which address to listen on. The port decides whether to listen at all.

The main trap is forgetting to set it back to zero after a run. The fake receiver keeps listening on the production node. After that one typo in any receiver’s server list is enough — and real mail goes into the black hole, while being recorded as delivered.
What the Hub does. It does not write it: the mechanism is not brought up on the nodes. If load runs come into use, the port will have to be set back to zero right after each one — otherwise a listening black hole remains on the node.
Recommended values

Take a port that is not in use. 2525 is recognizable as a test port; port twenty-five must not be taken — the real service sits on it.

Set it back to zero right after the run. Not “someday”, but with the same configuration edit.

Check that it really closed. The line being removed does not yet mean the port is not listened on: reloading the configuration is mandatory.

The advice about a recognizable port and the order of reverting are ours. From the manual come the default of zero and its meaning: the receiver does not start.
Example configuration
# a run: the receiver is up on a local address
dummy-smtp-ip 127.0.0.1
dummy-smtp-port 2525dummy-smtp-update-stats false
After the run the line is set back to zero or removed — and the configuration is reloaded: until then the port stays open.
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 ends2 mistakes▶

Leaving the port open after a run

our experience

What it costsA listening black hole remains on the production node. A typo in any receiver’s server list sends real mail into it — and the mail is marked delivered.
How to spot itThe port is listened on, although there have been no load runs for a long time.
How to do it rightSet it back to zero and reload the configuration.

Setting the other lines and expecting the mechanism to work

§ 3.3.1.57.2

What it costsWithout a port the receiver does not come up at all. The address, latency and set of extensions are set, but there is nobody to listen.
How to spot itConnections to the fake receiver are not established.
How to do it rightSet the port — it is the switch.
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
dummy-smtp-port <integer>
Values
a TCP port number; zero means the fake receiver does not start
Default
0 § 3.3.1.57.2
Applying
reload, no restart needed
Queue
will not touch what is already queued
Where to write it
Global
How many times
once in the block
Everything here comes from the manual, with the section.
Inheritance
A node-level line: it is written at the root of the file, not inside a block. It has no inheritance — it is either set or not. It is picked up by pmta reload; the port opens and closes exactly at that moment, so removing the line without reloading the configuration is not enough.
How to check on the node
Whether the node listens on this port is checked with system tools — there are no node-level lines in the queue settings output:
ss -ltn | grep 2525
grep -n dummy-smtp-port /etc/pmta/config
A discrepancy between the two commands means the configuration was edited but not reloaded. The Hub does not use this mechanism.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Capacity planning