Puppet Class: exim

Inherited by:
exim::config
exim::service
Defined in:
manifests/init.pp

Summary

This module configures exim

Overview

[log_file_path'] Type: string

Examples:

include ::exim

Parameters:

  • acl_not_smtp (Optional[String])

    Name of acl used for local generated mail. (sendmail)

  • acl_smtp_auth (Optional[String])

    Name of acl used for auth checking Type: string

  • acl_smtp_data (Optional[String])

    Name of acl used for data checking (runs after SMTP “.” command) Type: string

  • acl_smtp_mail (Optional[String])

    Name of acl used for mail checking (runs after SMTP “MAIL FROM:” command) Type: string

  • acl_smtp_mime (Optional[String])

    Name of acl used for maime checking Type: string

  • acl_smtp_rcpt (Any)

    Name of acl used for rcpt checking. (runs after SMTP “RCPT TO:” command) Type: string

  • allow_mx_to_ip (Any)

    Using an ip instead of an fqdn in DNS MX records violates the RFC, this option allows sending mails to these domains anyways. Type: bool

  • auto_thaw (Optional[String])

    Thaw frozen mails in our mailq after this time Type: string Example: “5d”

  • av_scanner (Optional[String])

    Configure your av-scanner here Type: string Example: “clamd:/var/run/clamav/clamd.ctl”

  • callout_domain_positive_expire (Optional[String])

    SMTP callouts are cached, this options sets the time after a successfull callout is deleted from the cache. Type: string Example: “4h”

  • check_spool_space (Optional[String])

    Don't accept mails, if spool space falls below this watermark. Type: string Example: 1G

  • chunking_advertise_hosts (Optional[Array[String]])

    advertise CHUNKING to these hosts Type: array Example: ['10.0.0.1', '192.168.178.1']

  • config_path (Any)

    Path to exims config file, this can be used to create an alternate config file for testing purposes. Type: string Example: “/etc/exim4/exim4.conf_test”

  • daemon_smtp_ports (Optional[Array[Integer]])

    SMTP ports to listen on Type: array Example: ['25','587']

  • defaults (Any)

    Use a default configuration, this creates a simple default config, which accepts local mails and forwards it to mail.<domain of your server> You probably want to set this to false, and build your own config. Type: bool Default: true

  • delay_warning (Optional[Array[String]])

    Send a warning Mail to the sender, if mails are delayed for this long: Type: Array Example: ['4h','8h','24h']

  • deliver_queue_load_max (Optional[Integer])

    Stop running the queue if load is higher than this value Type: integer

  • disable_ipv6 (Optional[Boolean])

    Do no IPv6 processing Type: bool

  • errors_reply_to (Optional[String])

    This sets a mail-address to be used in the reply-to header of bounce-messages. Type: String Example: postmaster@example.com

  • extract_addresses_remove_arguments (Optional[Boolean])

    When using exims -t option, rcpts from the Mail-Headers are used, and rcpts given on the command-line are substracted, setting this to false will add the rcpts instead of substracting them

  • freeze_tell (Optional[String])

    If a mail gets frozen, send a notification to the address defined here.

  • gnutls_compat_mode (Optional[Boolean])

    This controls if gnutls is used in compatiblity mode. Set this to true to slightly reduce security, but improve compatiblity with older TLS implementations. Type: bool

  • openssl_options (Optional[String])

    Adjust OpenSSL compatibility options. Type: String

  • heavy (Optional[Boolean])

    Install the debian heavy variant, default is false does nothing for redhat

  • helo_allow_chars (Optional[String])

    Allow additional characters in remote HELO strings. Type: string

  • host_lookup (Any)

    Reverse lookup hostname of ips. Type: Array Example: '*'

  • hosts_treat_as_local (Optional[Array[String]])

    Treat these hosts, as if they where the local host. default is empty

  • ignore_bounce_errors_after (Any)

    Discard undeliverable bounce messages after this time Type String: Example: “12d”

  • includes (Any)

    Include additional config file snippets, files defined here will be included at the top of the configuration, but below macros.

  • local_from_check (Any)

    Check and correct From: header from local mails to username@qualify-domain

  • local_interfaces (Optional[Array[String]])

    Specifies the interfaces exim will listen on.

  • log_lost_incoming_connection (Optional[Boolean])

    Configures the log_selector to log timeouting incomming connections

  • log_retry_defer (Optional[Boolean])

    Configures the log_selector to log if the queue runner skips a mail because it's retry time is not yet reached.

  • log_sender_on_delivery (Optional[Boolean])

    add sender to => lines

  • log_skip_delivery (Optional[Boolean])

    delivery skipped in a queue run

  • log_smtp_confirmation (Optional[Boolean])

    SMTP confirmation on => lines

  • log_smtp_connection (Optional[Boolean])

    Log SMTP connections.

  • log_smtp_protocol_error (Optional[Boolean])

    Log SMTP protocol errors.

  • log_smtp_syntax_error (Optional[Boolean])

    Log SMTP syntax errors.

  • log_tls_peerdn (Optional[Boolean])

    TLS peer DN on <= and => lines

  • log_mail_subject (Optional[Boolean])

    Log mail subjects.

  • log_8bitmime (Optional[Boolean])

    received 8BITMIME status

  • log_acl_warn_skipped (Optional[Boolean])

    skipped warn statement in ACL

  • log_address_rewrite (Optional[Boolean])

    address rewriting

  • log_all_parents (Optional[Boolean])

    all parents in => lines

  • log_arguments (Optional[Boolean])

    command line arguments

  • log_connection_reject (Optional[Boolean])

    connection rejections

  • log_delay_delivery (Optional[Boolean])

    immediate delivery delayed

  • log_deliver_time (Optional[Boolean])

    time taken to perform delivery

  • log_delivery_size (Optional[Boolean])

    add S=nnn to => lines

  • log_dnslist_defer (Optional[Boolean])

    defers of DNS list (aka RBL) lookups

  • log_dnssec (Optional[Boolean])

    DNSSEC secured lookups

  • log_etrn (Optional[Boolean])

    ETRN commands

  • log_host_lookup_failed (Optional[Boolean])

    Log failed host lookup

  • log_ident_timeout (Optional[Boolean])

    timeout for ident connection

  • log_incoming_interface (Optional[Boolean])

    local interface on <= and => lines

  • log_incoming_port (Optional[Boolean])

    remote port on <= lines

  • log_millisec (Optional[Boolean])

    millisecond timestamps and QT,DT,D times

  • log_outgoing_interface (Optional[Boolean])

    local interface on => lines

  • log_outgoing_port (Optional[Boolean])

    add remote port to => lines

  • log_queue_run (Optional[Boolean])

    start and end queue runs

  • log_queue_time (Optional[Boolean])

    time on queue for one recipient

  • log_queue_time_overall (Optional[Boolean])

    time on queue for whole message

  • log_pid (Optional[Boolean])

    Exim process id

  • log_proxy (Optional[Boolean])

    proxy address on <= and => lines

  • log_received_recipients (Optional[Boolean])

    recipients on <= lines

  • log_received_sender (Optional[Boolean])

    sender on <= lines

  • log_rejected_header (Optional[Boolean])

    header contents on reject log

  • log_return_path_on_delivery (Optional[Boolean])

    put return path on => and ** lines

  • log_sender_verify_fail (Optional[Boolean])

    sender verification failures

  • log_size_reject (Optional[Boolean])

    rejection because too big

  • log_smtp_incomplete_transaction (Optional[Boolean])

    incomplete SMTP transactions

  • log_smtp_mailauth (Optional[Boolean])

    AUTH argument to MAIL commands

  • log_smtp_no_mail (Optional[Boolean])

    session with no MAIL commands

  • log_tls_certificate_verified (Optional[Boolean])

    certificate verification status

  • log_tls_cipher (Optional[Boolean])

    TLS cipher suite on <= and => lines

  • log_tls_sni (Optional[Boolean])

    TLS SNI on <= lines

  • log_unknown_in_list (Optional[Boolean])

    DNS lookup failed in list match

  • log_timezone (Optional[Boolean])

    Timezone

  • log_file_path (Optional[Array[String]])

    File path

  • macros (Optional[Hash])

    Allows you to set Macro definitions, note that macros must start with an uppercase letter

  • manage_service (Boolean)

    Manage exim Service

  • message_logs (Optional[Boolean])

    This stores an aditional log file with each message in the spool file which enables you to instantly get all logs from a message in your queue by using the exim -Mvl option.

  • message_size_limit (Optional[String])

    Max size allowed for mails, default is empty Example: 100M

  • never_users (Optional[Array[String]])

    Do not run deliverys as these users Type: array

  • qualify_domain (Optional[String])

    configure the domain, which is automatically added to email addresses without a domain part. Default is empty, which exim treats as the primary hostname.

  • queue_only_load (Optional[Integer])

    Do not run imediate deliveries if load is above this threshhold. Type: integer

  • queue_run_max (Optional[Integer])

    Limits the number of queue runners to run in parrallel. Type: integer

  • remote_max_parallel (Optional[Integer])

    If one message with multiple recipients is delivered, run at max these deliveries in parallel.

  • rfc1413_hosts (Any)

    use identd callback on these hosts. Type: array

  • rfc1413_query_timeout (Any)

    Timeout for identd callback

  • smtp_accept_max (Optional[Integer])

    Limit on incomming connections Type: integer

  • smtp_accept_max_nonmail (Optional[Integer])

    Limit the amount of non-mail commands in smtp dialog Type: integer

  • smtp_accept_max_per_connection (Optional[Integer])

    Maximum number of Mails accepted in a single connection.

  • smtp_accept_max_per_host (Optional[Integer])

    Maximum number of parrallel connections from a single host

  • smtp_accept_queue (Optional[Integer])

    If the number of simultaneous incoming SMTP connections being handled via the listening daemon exceeds this value, messages received by SMTP are just placed on the queue.

  • smtp_accept_queue_per_connection (Optional[Integer])

    Maximum number of delivery processes spawned for a single smtp connection

  • smtp_accept_reserve (Optional[Integer])

    When smtp_accept_max is set greater than zero, this option specifies a number of SMTP connections that are reserved for connections from the hosts that are specified in smtp_reserve_hosts.

  • smtp_banner (Optional[String])

    Initial response to SMTP connections.

  • smtp_reserve_hosts (Optional[Array[String]])

    See “smtp_accept_reserve”

  • spamd_address (Optional[String])

    Configure a spamd socket here.

  • split_spool_directory (Optional[Boolean])

    Use split spool configuration Type: bool

  • syslog_timestamp (Optional[Boolean])

    Don't send timestamps to syslog.

  • system_filter (Optional[String])

    Configure a system filter file here.

  • timeout_frozen_after (Optional[String])

    Discard frozen mails after this amount of time.

  • tls_advertise_hosts (Optional[Array[String]])

    Advertise tls to hosts in this list

  • tls_certificate (Optional[String])

    Path to crt file, must be used together with tls_privatekey, default is empty (no tls)

  • tls_privatekey (Optional[String])

    Path to key file, must be used together with tls_certificate, default is empty (no tls)

  • trusted_users (Optional[Array[String]])

    Set, to configure exims global config variable trusted_users, default is empty ('').

  • print_topbitchars (Optional[Boolean])

    If this option ist set to true code values of 128 and above are also considered to be printing characters

  • untrusted_set_sender (Optional[Boolean])

    This option allows you to permit untrusted users to set other envelope sender addresses in a controlled way.

  • tls_require_ciphers (Optional[String])

    This option controls which ciphers can be used for incoming TLS connections.

  • ldap_default_servers (Optional[Array[String]])

    Array of LDAP servers (fqdn)

  • exim_heavy_package (Optional[String])

    Name of the Debian exim-heavy package

  • exim_light_package (Optional[String])

    Name of the Debian exim-light package

  • exim_service (Optional[String])

    Name of the service



427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
# File 'manifests/init.pp', line 427

class exim (
  Optional[String] $acl_not_smtp,
  Optional[String] $acl_smtp_auth,
  Optional[String] $acl_smtp_data,
  Optional[String] $acl_smtp_mail,
  Optional[String] $acl_smtp_mime,
  $acl_smtp_rcpt,
  $allow_mx_to_ip,
  Optional[String] $auto_thaw,
  Optional[String] $av_scanner,
  Optional[String] $callout_domain_positive_expire,
  Optional[String] $check_spool_space,
  Optional[Array[String]] $chunking_advertise_hosts,
  $config_path,
  Optional[Array[Integer]] $daemon_smtp_ports,
  $defaults,
  Optional[Array[String]] $delay_warning,
  Optional[Integer] $deliver_queue_load_max,
  Optional[Boolean] $disable_ipv6,
  Optional[String] $errors_reply_to,
  Optional[Boolean] $extract_addresses_remove_arguments,
  Optional[String] $freeze_tell,
  Optional[Boolean] $gnutls_compat_mode,
  Optional[String] $openssl_options,
  Optional[Boolean] $heavy,
  Optional[String] $helo_allow_chars,
  $host_lookup,
  Optional[Array[String]] $hosts_treat_as_local,
  $ignore_bounce_errors_after,
  $includes,
  Optional[Array[String]] $ldap_default_servers,
  $local_from_check,
  Optional[Array[String]] $local_interfaces,
  Optional[Array[String]] $log_file_path,
  Optional[Boolean] $log_lost_incoming_connection,
  Optional[Boolean] $log_retry_defer,
  Optional[Boolean] $log_sender_on_delivery,
  Optional[Boolean] $log_skip_delivery,
  Optional[Boolean] $log_smtp_confirmation,
  Optional[Boolean] $log_smtp_connection,
  Optional[Boolean] $log_smtp_protocol_error,
  Optional[Boolean] $log_smtp_syntax_error,
  Optional[Boolean] $log_tls_peerdn,
  Optional[Boolean] $log_mail_subject,
  Optional[Boolean] $log_8bitmime,
  Optional[Boolean] $log_acl_warn_skipped,
  Optional[Boolean] $log_address_rewrite,
  Optional[Boolean] $log_all_parents,
  Optional[Boolean] $log_arguments,
  Optional[Boolean] $log_connection_reject,
  Optional[Boolean] $log_delay_delivery,
  Optional[Boolean] $log_deliver_time,
  Optional[Boolean] $log_delivery_size,
  Optional[Boolean] $log_dnslist_defer,
  Optional[Boolean] $log_dnssec,
  Optional[Boolean] $log_etrn,
  Optional[Boolean] $log_host_lookup_failed,
  Optional[Boolean] $log_ident_timeout,
  Optional[Boolean] $log_incoming_interface,
  Optional[Boolean] $log_incoming_port,
  Optional[Boolean] $log_millisec,
  Optional[Boolean] $log_outgoing_interface,
  Optional[Boolean] $log_outgoing_port,
  Optional[Boolean] $log_queue_run,
  Optional[Boolean] $log_queue_time,
  Optional[Boolean] $log_queue_time_overall,
  Optional[Boolean] $log_pid,
  Optional[Boolean] $log_proxy,
  Optional[Boolean] $log_received_recipients,
  Optional[Boolean] $log_received_sender,
  Optional[Boolean] $log_rejected_header,
  Optional[Boolean] $log_return_path_on_delivery,
  Optional[Boolean] $log_sender_verify_fail,
  Optional[Boolean] $log_size_reject,
  Optional[Boolean] $log_smtp_incomplete_transaction,
  Optional[Boolean] $log_smtp_mailauth,
  Optional[Boolean] $log_smtp_no_mail,
  Optional[Boolean] $log_timezone,
  Optional[Boolean] $log_tls_certificate_verified,
  Optional[Boolean] $log_tls_cipher,
  Optional[Boolean] $log_tls_sni,
  Optional[Boolean] $log_unknown_in_list,
  Optional[Hash] $macros,
  Boolean $manage_service,
  Optional[Boolean] $message_logs,
  Optional[String] $message_size_limit,
  Optional[Array[String]] $never_users,
  Optional[Boolean] $untrusted_set_sender,
  Optional[Boolean] $print_topbitchars,
  Optional[String] $tls_require_ciphers,
  Optional[String] $qualify_domain,
  Optional[Integer] $queue_only_load,
  Optional[Integer] $queue_run_max,
  Optional[Integer] $remote_max_parallel,
  $rfc1413_hosts,
  $rfc1413_query_timeout,
  Optional[Integer] $smtp_accept_max,
  Optional[Integer] $smtp_accept_max_nonmail,
  Optional[Integer] $smtp_accept_max_per_connection,
  Optional[Integer] $smtp_accept_max_per_host,
  Optional[Integer] $smtp_accept_queue,
  Optional[Integer] $smtp_accept_queue_per_connection,
  Optional[Integer] $smtp_accept_reserve,
  Optional[String] $smtp_banner,
  Optional[Array[String]] $smtp_reserve_hosts,
  Optional[String] $spamd_address,
  Optional[Boolean] $split_spool_directory,
  Optional[Boolean] $syslog_timestamp,
  Optional[String] $system_filter,
  Optional[String] $timeout_frozen_after,
  Optional[Array[String]] $tls_advertise_hosts,
  Optional[String] $tls_certificate,
  Optional[String] $tls_privatekey,
  Optional[Array[String]] $trusted_users,
  Optional[String] $exim_light_package,
  Optional[String] $exim_heavy_package,
  Optional[String] $exim_service,
) {

  include ::exim::install
  include ::exim::config
  include ::exim::service

  Class['exim::install']
  -> Class['exim::config']
  ~> Class['exim::service']
}