The processing and reprocessing channels are essentially the intersection of all other channel programs --- they perform only those operations that are shared among all other channels. In other words, such a channel is simply a channel queue whose contents are processed and requeued to other channels. Messages receive no special processing whatsoever.
The different between a reprocessing channel and a processing channel is that a reprocessing channel is normally "invisible" as a source or destination channel, as for instance in a CONVERSION, CHARSET-CONVERSION, or SEND_ACCESS mapping table, or in a source channel or destination channel specific rewrite rule. A processing channel, on the other hand, is visible like other PMDF channels.
It can appear that such a channel is effectively useless, but this
turns out to be untrue. For example, the act of expanding a large
mailing list can be very time-consuming. Timeouts can occur if this is
done during the operation of a channel slave program with an open
network connection. So PMDF provides the
channel keyword, which forces requeuing of the message to the
reprocessing channel. Address expansion is then done as the
reprocessing channel runs, free of any network timing constraints.
If a message destined to an address of the form
user@domain is routed to the
reprocessing channel, (e.g., due to rewrite rules or the
expandlimit keyword) then the reprocessing channel will
simply re-enqueue the message to the channel associated with the domain
domain; if a message destined to an address of
routed to the reprocessing channel, (e.g., as can be the case
for mailing lists using deferred expansion), then the reprocessing
channel will re-enqueue the message to the local channel. In either
case, the reprocessing channel performs any necessary expansion of the
user part of the address.
When a PMDF channel has to generate a notification (bounce) message, such a notification message is initially enqueued to the processing channel.
A processing channel and a reprocessing channel are produced automatically by the PMDF configuration generator.b
b If you are using an older configuration generated prior to PMDF V5.2, you can need to manually add a processing channel definition and rewrite rules to your configuration. If you are using an older configuration generated prior to PMDF V5.0, you can need to manually add a reprocessing channel definition and rewrite rules to your configuration. For its own uses, PMDF will act as if process and reprocess channels are defined even if they are not explicitly present in your configuration. But if you want to make any site specific uses of such channels, explicitly addressing or rewriting to such channels, then you will need to have the channels explicitly present in your configuration.