Adding a pipe channel to the configuration

From Messaging Server Technical Reference Wiki
Jump to: navigation, search


Initial configuration normally configures a pipe channel automatically. In Unified Configuration, that definition would appear as:


msconfig> show channel:pipe.*
role.channel:pipe.official_host_name = pipe-daemon
role.channel:pipe.defragment (novalue)
role.channel:pipe.single (novalue)
msconfig> show rewrite.rule * *pipe*
role.rewrite.rule = .pipe-daemon $U%$H.pipe-daemon@pipe-daemon

corresponding to the legacy configuration:


.pipe-daemon $U%$H.pipe-daemon@pipe-daemon
...rest-of-rewrite-rules...

...start-of-channel-definitions...

pipe single defragment
pipe-daemon

But for those wishing to add a pipe channel manually, the following discussion is provided. Note that usually a single pipe channel can suffice; but it is possible to configure multiple pipe_* channels, if desired.

A message to be processed by a pipe channel is usually routed to the channel via a combination of an alias and rewrite rules. For instance, the system domain.com might want all mail for the addresses info-list@domain.com and gripes@domain.com to be routed to a pipe channel. This could be accomplished with the alias file entries


info-list: info-list@pipe.domain.com 
gripes: gripes@pipe.domain.com 

where pipe.domain.com is in turn a host name associated with a pipe channel via rewrite rules. For instance,


pipe.domain.com         $u%pipe.domain.com@PIPE-DAEMON 

So, to configure a pipe you need to determine the host names, pipe1.domain, pipe2.domain, ... which you wish to use. Once you have determined these, add them to the rewrite rules section of your MTA configuration file:


pipe1.domain          $u%pipe1.domain@PIPE-DAEMON 
pipe2.domain          $u%pipe2.domain@PIPE-DAEMON 
...                   ...

Then, to the end of your MTA configuration, add the definition of the pipe channel itself:


pipe 
PIPE-DAEMON 

Be sure to include a blank line before and after this channel definition.

On UNIX, the pipe channel runs by default as the MTA user, as specified by the user option in restricted.cnf (or the imta_user MTA Tailor option in versions prior to MS 7.0.5). So on UNIX, if you wish the pipe channel to run as some other user, you may use the user channel option to specify the desired username though that usage is deprecated as of MS 8.0; as of MS 8.0, the preferred usage is to use the pipeuser option in the restricted.cnf file. Note that the argument to user is normally forced to lowercase, but original case will be preserved if the argument is quoted.

At this point, the pipe channel has been added to the configuration. However, it cannot be used until you create a channel option file, or a pipe database, or (UNIX only) define and set delivery methods for pipe channel addressees, as described next.


See also: