The Delivery Pipe configuration file is typically /etc/mithril/dpipe.conf. The configuration is split into several sections.
The "before" section indicates delivery modules that should be run before message delivery. These modules are free to mark up the message before delivery, trigger side effects, or bounce the message. The only valid key in this section is the "module" key. There may be zero or more module keys; each one specifies a unique module name (referred to as a "module tag") that should be executed in the order defined.
The "after" section indicates delivery modules that should be run after message delivery. These modules should not mark up the message or attempt to bounce it (any such attempts will be ignored), but they may trigger side effects based on the message delivery status. The only valid key in this section is the "module" key. There may be zero or more module keys; each one specifies a unique module name (referred to as a "module tag") that should be executed in the order defined.
Keys that are applicable to all modules or to the delivery process are defined in the "global" section. Any key that can be used by a module may be defined here or overridden in the module's individual configuration section. Some used keys are:
Each module may be configured separately. The configuration sections are labeled by the keyword "module" followed by a module tag (defined in the before or after section). For example, a module reference of the form "module = foo" would have a module tag of "foo" and find its configuration in the "module foo" section.
Keys are interpreted with respect to individual modules. Only one key is uniformly interpreted: the path key. This key indicates the path to the dynamic module which will be loaded and executed. If the pathname is absolute, the absolute file will be used; if relative, it will be interpreted relative to the compile-time MODULE_DIR parameter (which defaults to the library directory where modules were installed).