A queue of the pipe type does not establish connections. For each new recipient it starts the program from the command line and writes the message to its standard input. What the program does with it is up to the program.
The usual use is parsing bounces and complaints: the return address domain is set up as a pipe queue, and everything that arrives there goes straight into the handler, bypassing a mailbox.
The special local domain. It collects mail to all recipients on the node’s local domains — the node determines them by the machine name and by its host-name lines. The manual’s caveat is important: PowerMTA does not read /etc/aliases and .forward, so the familiar unix mail forwarding does not work here.
# parsing bounces with a program on the same node <domain bounces.example.com> type pipe command "/opt/bounce/parse --envid \"$envid\" \"$user\""</domain> # all mail to local recipients — into procmail <domain local> type pipe command "/usr/bin/procmail -t -Y -d $user"</domain>
what people get wrong and how it ends2 mistakes▶
§ 11.21
§ 11.21.1
2 relations
pmta show settings bounces.example.com/vmta1 | grep -E '^type|^command' pmta show queues | grep -i bounces.example.com
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇Two inbound report processors and what to do with themBounces by message and complaints are parsed by two identically structured blocks; each has its own address list and its own pair of decisions about the message’s fate.◇Address lists — named and unnamedA list of addresses, domains, patterns or hashes; a named one is attached by directives such as suppression, an unnamed one lives inside an inbound mail processor.