Defined Type: exim::router

Defined in:
manifests/router.pp

Summary

This module configures a single router in exims configuration

Overview

override the destination of a generated bounce message

specify a text message which is used when an address can not be routed because of no more routers to try. Default message is “Unroutable address”

dont run this router if specified files does not exist

Parameters:

  • disable (Boolean) (defaults to: false)

    If set to true, this router is excluded from the configuration.

  • order (Any)

    Order of routers is important, set it here

  • address_data (Any) (defaults to: undef)

    Set the address_data variable

  • caseful_local_part (Any) (defaults to: undef)

    Sets the caseful_local_part option.

  • comment (Any) (defaults to: undef)

    Comment a router, this will be placed as a comment just above the router.

  • driver (Any)

    Sets the type of router.

  • allow_defer (Boolean) (defaults to: false)

    If set to true, the router can defer messages if needed.

  • allow_fail (Boolean) (defaults to: false)

    If set to true, the router can fail messages if needed.

  • allow_filter (Boolean) (defaults to: false)

    If set to true, filters can be used.

  • condition (Any) (defaults to: undef)

    (Advanced) Conditions when this router should be used

  • data (Any) (defaults to: undef)

    Data source for the rewrite router

  • debug_print (Any) (defaults to: undef)

    Used to print debug information

  • domains (Any) (defaults to: undef)

    Domains for which this router should be used.

  • file_transport (Any) (defaults to: undef)

    Set the file_transport, used if the outcome of the router points to a file

  • file (Any) (defaults to: undef)

    Set the file that contains the filter rules.

  • headers_add (Any) (defaults to: undef)

    Add these Headers to a message

  • headers_remove (Any) (defaults to: undef)

    Remove these Headers to a message

  • host_find_failed (Any) (defaults to: undef)

    Relevant to the manualroute router, it determines what shoud happen if the used host can't be resolved to an IP address.

  • ignore_target_hosts (Any) (defaults to: undef)

    remove this host from hostlists gererated by this router

  • local_parts (Any) (defaults to: undef)

    The router is run only if the local part of the address matches the list.

  • local_part_prefix (Any) (defaults to: undef)

    Define a prefix, present on localparts

  • local_part_suffix (Any) (defaults to: undef)

    Define a suffix, present on localparts

  • local_part_prefix_optional (Boolean) (defaults to: false)

    Is the prefix optional?

  • local_part_suffix_optional (Boolean) (defaults to: false)

    Is the suffix optional?

  • no_address_test (Boolean) (defaults to: false)

    Skip this router in address testing mode (exim -bt)

  • no_more (Boolean) (defaults to: false)

    If conditions are met for this router, but the router can't process this mail, the address fails instead of handeld down to the next router.

  • no_verify (Boolean) (defaults to: false)

    Skip this router when verifying addresses.

  • pipe_transport (Any) (defaults to: undef)

    Set the pipe_transport, used if the outcome of the router points to a pipe

  • qualify_preserve_domain (Boolean) (defaults to: false)

    For redirect routers If an unqualified address (one without a domain) is generated, it is qualified with the domain of the parent address.

  • route_data (Any) (defaults to: undef)

    If this option is set, it must expand to yield the data part of a routing rule.

  • route_list (Any) (defaults to: undef)

    Target server used by manualroute router.

  • same_domain_copy_routing (Any) (defaults to: undef)

    This option copys routing information to all mails targeting the same domain.

  • self (Any) (defaults to: undef)

    The self option specifies what happens when the first host on the list turns out to be the local host. See official documentation for more details.

  • senders (Any) (defaults to: undef)

    If this option is set, the router is skipped unless the message’s sender address matches something on the list.

  • transport (Any) (defaults to: undef)

    Which transport should be used to send mails.

  • unseen (Boolean) (defaults to: false)

    When this option is set true, routing does not cease if the router accepts the address.

  • user (Any) (defaults to: undef)

    When a router queues an address for a transport, and the transport does not specify a user, the user given here is used when running the delivery process.

  • errors_to (Any) (defaults to: undef)
  • cannot_route_message (Any) (defaults to: undef)
  • require_files (Any) (defaults to: undef)


131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# File 'manifests/router.pp', line 131

define exim::router (
  $driver,
  $order,
  $address_data                       = undef,
  Boolean $allow_defer                = false,
  Boolean $allow_fail                 = false,
  Boolean $allow_filter               = false,
  $caseful_local_part                 = undef,
  $comment                            = undef,
  $condition                          = undef,
  $data                               = undef,
  $debug_print                        = undef,
  Boolean $disable                    = false,
  $domains                            = undef,
  $file                               = undef,
  $file_transport                     = undef,
  $headers_add                        = undef,
  $headers_remove                     = undef,
  $host_find_failed                   = undef,
  $ignore_target_hosts                = undef,
  $local_part_prefix                  = undef,
  Boolean $local_part_prefix_optional = false,
  Boolean $local_part_suffix_optional = false,
  $local_part_suffix                  = undef,
  $local_parts                        = undef,
  Boolean $no_address_test            = false,
  Boolean $no_more                    = false,
  Boolean $no_verify                  = false,
  $pipe_transport                     = undef,
  Boolean $qualify_preserve_domain    = false,
  $route_data                         = undef,
  $route_list                         = undef,
  $same_domain_copy_routing           = undef,
  $self                               = undef,
  $senders                            = undef,
  $transport                          = undef,
  Boolean $unseen                     = false,
  $user                               = undef,
  $errors_to                  = undef,
  $cannot_route_message       = undef,
  $require_files              = undef,
  ){
  unless $disable {
    concat::fragment { "router-${title}":
      target  => $::exim::config_path,
      content => template("${module_name}/router/router.erb"),
      order   => $order + 2000,
    }
  }
}