exim
: This module configures exim
exim::config
exim::install
: This class installes the exim packageexim::service
: This class manages the exim service
exim::acl
: This define creates a new aclexim::acl::statement
: This define creates one acl statement in exims configurationexim::addresslist
: This define can be used to create addresslists, which can be referenced laterexim::authenticator
: This module configures a single authenticator in exims configurationexim::domainlist
: This define can be used to create domainlists, which can be referenced laterexim::hostlist
: This define can be used to create hostlists, which can be referenced laterexim::retry
: This define is used to build retry rulesexim::rewrite
: This define is used to build rewrite rulesexim::router
: This module configures a single router in exims configurationexim::transport
: This module configures a single transport in exims configuration
This module configures exim
include ::exim
The following parameters are available in the exim
class:
acl_not_smtp
acl_smtp_connect
acl_smtp_auth
acl_smtp_data
acl_smtp_predata
acl_smtp_mail
acl_smtp_mime
acl_smtp_rcpt
allow_mx_to_ip
auto_thaw
av_scanner
bounce_return_body
bounce_return_linesize_limit
bounce_return_message
bounce_return_size_limit
callout_domain_positive_expire
check_spool_space
chunking_advertise_hosts
queue_smtp_domains
config_path
daemon_smtp_ports
tls_on_connect_ports
defaults
delay_warning
deliver_queue_load_max
disable_ipv6
errors_reply_to
extract_addresses_remove_arguments
freeze_tell
gnutls_compat_mode
openssl_options
heavy
helo_allow_chars
host_lookup
hosts_treat_as_local
ignore_bounce_errors_after
includes
local_from_check
local_interfaces
log_lost_incoming_connection
log_retry_defer
log_sender_on_delivery
log_skip_delivery
log_smtp_confirmation
log_smtp_connection
log_smtp_protocol_error
log_smtp_syntax_error
log_tls_peerdn
log_mail_subject
log_8bitmime
log_acl_warn_skipped
log_address_rewrite
log_all_parents
log_arguments
log_connection_reject
log_delay_delivery
log_deliver_time
log_delivery_size
log_dnslist_defer
log_dnssec
log_etrn
log_host_lookup_failed
log_ident_timeout
log_incoming_interface
log_incoming_port
log_millisec
log_outgoing_interface
log_outgoing_port
log_queue_run
log_queue_time
log_queue_time_overall
log_pid
log_proxy
log_received_recipients
log_received_sender
log_rejected_header
log_return_path_on_delivery
log_sender_verify_fail
log_size_reject
log_smtp_incomplete_transaction
log_smtp_mailauth
log_smtp_no_mail
log_tls_certificate_verified
log_tls_cipher
log_tls_sni
log_unknown_in_list
log_timezone
log_file_path
macros
manage_service
message_logs
message_size_limit
mysql_servers
never_users
qualify_domain
queue_only_load
queue_run_max
remote_max_parallel
rfc1413_hosts
rfc1413_query_timeout
smtp_accept_max
smtp_accept_max_nonmail
smtp_accept_max_per_connection
smtp_accept_max_per_host
smtp_accept_queue
smtp_accept_queue_per_connection
smtp_accept_reserve
smtp_banner
received_header_text
smtp_receive_timeout
smtp_reserve_hosts
smtp_return_error_details
spamd_address
split_spool_directory
syslog_timestamp
system_filter
timeout_frozen_after
tls_advertise_hosts
tls_certificate
tls_privatekey
trusted_users
print_topbitchars
untrusted_set_sender
tls_require_ciphers
ldap_default_servers
exim_heavy_package
exim_light_package
exim_service
ensure_resources
service_enable
service_ensure
Data type: Optional[String]
Name of acl used for local generated mail. (sendmail)
Data type: Optional[String]
Name of acl used on smtp connect Type: string
Data type: Optional[String]
Name of acl used for auth checking Type: string
Data type: Optional[String]
Name of acl used for data checking (runs after SMTP "." command) Type: string
Data type: Optional[String]
Name of acl used for checking after DATA command (runs after SMTP "DATA" but before actual data) Type: string
Data type: Optional[String]
Name of acl used for mail checking (runs after SMTP "MAIL FROM:" command) Type: string
Data type: Optional[String]
Name of acl used for maime checking Type: string
Data type: Optional[String]
Name of acl used for rcpt checking. (runs after SMTP "RCPT TO:" command) Type: string
Data type: Optional[Boolean]
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
Data type: Optional[String]
Thaw frozen mails in our mailq after this time Type: string Example: "5d"
Data type: Optional[String]
Configure your av-scanner here Type: string Example: "clamd:/var/run/clamav/clamd.ctl"
Data type: Optional[Boolean]
This option controls whether the body of an incoming message is included in a bounce message. Type: bool
Data type: Optional[Integer]
This option sets a limit in bytes on the line length of messages that are returned to senders due to delivery problems. Type: integer
Data type: Optional[Boolean]
This option controls whether the original message is included in bounce messages generated by Exim. Type: bool
Data type: Optional[Integer]
This option sets a limit in bytes on the size of messages that are returned to senders as part of bounce messages. Type: integer
Data type: Optional[String]
SMTP callouts are cached, this options sets the time after a successfull callout is deleted from the cache. Type: string Example: "4h"
Data type: Optional[String]
Don't accept mails, if spool space falls below this watermark. Type: string Example: 1G
Data type: Optional[Array[String]]
advertise CHUNKING to these hosts Type: array Example: ['10.0.0.1', '192.168.178.1']
Data type: Optional[Array[String]]
no immediaste SMTP delivery for these domains Type: array Example: ['10.0.0.1', '192.168.178.1']
Data type: String
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"
Data type: Optional[Array[Integer]]
SMTP ports to listen on Type: array of integers Example: [25,465,587]
Data type: Optional[Array[Integer]]
Ports on which to enable TLs on connect Type: array of integers Example: [465]
Data type: Optional[Boolean]
Use a default configuration, this creates a simple default config, which accepts local mails and forwards it to mail. You probably want to set this to false, and build your own config. Type: bool Default: true
Data type: Optional[Array[String]]
Send a warning Mail to the sender, if mails are delayed for this long: Type: Array Example: ['4h','8h','24h']
Data type: Optional[Integer]
Stop running the queue if load is higher than this value Type: integer
Data type: Optional[Boolean]
Do no IPv6 processing Type: bool
Data type: Optional[String]
This sets a mail-address to be used in the reply-to header of bounce-messages. Type: String Example: postmaster@example.com
Data type: 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
Data type: Optional[String]
If a mail gets frozen, send a notification to the address defined here.
Data type: 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
Data type: Optional[String]
Adjust OpenSSL compatibility options. Type: String
Data type: Optional[Boolean]
Install the debian heavy variant, default is false does nothing for redhat
Data type: Optional[String]
Allow additional characters in remote HELO strings. Type: string
Data type: Optional[String]
Reverse lookup hostname of ips. Type: String Example: '*'
Data type: Optional[Array[String]]
Treat these hosts, as if they where the local host. default is empty
Data type: Optional[String]
Discard undeliverable bounce messages after this time Type String: Example: "12d"
Data type: Optional[Array]
Include additional config file snippets, files defined here will be included at the top of the configuration, but below macros.
Data type: Optional[Boolean]
Check and correct From: header from local mails to username@qualify-domain
Data type: Optional[Array[String]]
Specifies the interfaces exim will listen on.
Data type: Optional[Boolean]
Configures the log_selector to log timeouting incomming connections
Data type: Optional[Boolean]
Configures the log_selector to log if the queue runner skips a mail because it's retry time is not yet reached.
Data type: Optional[Boolean]
add sender to => lines
Data type: Optional[Boolean]
delivery skipped in a queue run
Data type: Optional[Boolean]
SMTP confirmation on => lines
Data type: Optional[Boolean]
Log SMTP connections.
Data type: Optional[Boolean]
Log SMTP protocol errors.
Data type: Optional[Boolean]
Log SMTP syntax errors.
Data type: Optional[Boolean]
TLS peer DN on <= and => lines
Data type: Optional[Boolean]
Log mail subjects.
Data type: Optional[Boolean]
received 8BITMIME status
Data type: Optional[Boolean]
skipped warn statement in ACL
Data type: Optional[Boolean]
address rewriting
Data type: Optional[Boolean]
all parents in => lines
Data type: Optional[Boolean]
command line arguments
Data type: Optional[Boolean]
connection rejections
Data type: Optional[Boolean]
immediate delivery delayed
Data type: Optional[Boolean]
time taken to perform delivery
Data type: Optional[Boolean]
add S=nnn to => lines
Data type: Optional[Boolean]
defers of DNS list (aka RBL) lookups
Data type: Optional[Boolean]
DNSSEC secured lookups
Data type: Optional[Boolean]
ETRN commands
Data type: Optional[Boolean]
Log failed host lookup
Data type: Optional[Boolean]
timeout for ident connection
Data type: Optional[Boolean]
local interface on <= and => lines
Data type: Optional[Boolean]
remote port on <= lines
Data type: Optional[Boolean]
millisecond timestamps and QT,DT,D times
Data type: Optional[Boolean]
local interface on => lines
Data type: Optional[Boolean]
add remote port to => lines
Data type: Optional[Boolean]
start and end queue runs
Data type: Optional[Boolean]
time on queue for one recipient
Data type: Optional[Boolean]
time on queue for whole message
Data type: Optional[Boolean]
Exim process id
Data type: Optional[Boolean]
proxy address on <= and => lines
Data type: Optional[Boolean]
recipients on <= lines
Data type: Optional[Boolean]
sender on <= lines
Data type: Optional[Boolean]
header contents on reject log
Data type: Optional[Boolean]
put return path on => and ** lines
Data type: Optional[Boolean]
sender verification failures
Data type: Optional[Boolean]
rejection because too big
Data type: Optional[Boolean]
incomplete SMTP transactions
Data type: Optional[Boolean]
AUTH argument to MAIL commands
Data type: Optional[Boolean]
session with no MAIL commands
Data type: Optional[Boolean]
certificate verification status
Data type: Optional[Boolean]
TLS cipher suite on <= and => lines
Data type: Optional[Boolean]
TLS SNI on <= lines
Data type: Optional[Boolean]
DNS lookup failed in list match
Data type: Optional[Boolean]
Timezone
Data type: Optional[Array[String]]
File path
Data type: Optional[Hash]
Allows you to set Macro definitions, note that macros must start with an uppercase letter
Data type: Boolean
Manage exim Service
Data type: 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.
Data type: Optional[String]
Max size allowed for mails, default is empty Example: 100M
Data type: Optional[Array[String]]
MySQL servers to connect to Type: array
Data type: Optional[Array[String]]
Do not run deliverys as these users Type: array
Data type: 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.
Data type: Optional[Integer]
Do not run imediate deliveries if load is above this threshhold. Type: integer
Data type: Optional[Integer]
Limits the number of queue runners to run in parrallel. Type: integer
Data type: Optional[Integer]
If one message with multiple recipients is delivered, run at max these deliveries in parallel.
Data type: Optional[String]
use identd callback on these hosts. Type: array
Data type: Optional[String]
Timeout for identd callback
Data type: Optional[Integer]
Limit on incomming connections Type: integer
Data type: Optional[Integer]
Limit the amount of non-mail commands in smtp dialog Type: integer
Data type: Optional[Integer]
Maximum number of Mails accepted in a single connection.
Data type: Optional[Integer]
Maximum number of parrallel connections from a single host
Data type: 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.
Data type: Optional[Integer]
Maximum number of delivery processes spawned for a single smtp connection
Data type: 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.
Data type: Optional[String]
Initial response to SMTP connections.
Data type: Optional[String]
Override Received header added to each message.
Data type: Optional[String]
Timeout for SMTP activity.
Data type: Optional[Array[String]]
See "smtp_accept_reserve"
Data type: Optional[Boolean]
Return more detailed SMTP error messages.
Data type: Optional[String]
Configure a spamd socket here.
Data type: Optional[Boolean]
Use split spool configuration Type: bool
Data type: Optional[Boolean]
Don't send timestamps to syslog.
Data type: Optional[String]
Configure a system filter file here.
Data type: Optional[String]
Discard frozen mails after this amount of time.
Data type: Optional[Array[String]]
Advertise tls to hosts in this list
Data type: Optional[String]
Path to crt file, must be used together with tls_privatekey, default is empty (no tls)
Data type: Optional[String]
Path to key file, must be used together with tls_certificate, default is empty (no tls)
Data type: Optional[Array[String]]
Set, to configure exims global config variable trusted_users, default is empty ('').
Data type: Optional[Boolean]
If this option ist set to true code values of 128 and above are also considered to be printing characters
Data type: Optional[Boolean]
This option allows you to permit untrusted users to set other envelope sender addresses in a controlled way.
Data type: Optional[String]
This option controls which ciphers can be used for incoming TLS connections.
Data type: Optional[Array[String]]
Array of LDAP servers (fqdn)
Data type: Optional[String]
Name of the Debian exim-heavy package
Data type: Optional[String]
Name of the Debian exim-light package
Data type: Optional[String]
Name of the service
Data type: Optional[Boolean]
Boolean: Wether to explicitely ensure exim::$param lookups and resources
Data type: Optional[Boolean]
Boolean: desired state of the system service enable/disable
Data type: Optional
Boolean: desired state of the system service running/stopped/...
This define creates a new acl
The following parameters are available in the exim::acl
defined type:
Data type: Optional[Integer]
Id of this acl, this is needed for acl statements to reference this acl.
Default value: undef
Data type: Optional
Array of valid ACL statements
Default value: undef
This define creates one acl statement in exims configuration
The following parameters are available in the exim::acl::statement
defined type:
Data type: Integer
Id of parent acl this statement correspondes to. The acl-statement is part of the acl with id "acl_id".
Data type: Integer
Position of this statement in the acl (acl_id).
Data type: String
The outcome of given acl statement (e.g.: accept)
Data type: Optional[Array]
Conditions to "action" Example: [ ['hosts', ['192.168.1.2','192.168.1.3']], ['domains', ['+domainlist']], ],
Default value: undef
Data type: Boolean
This option can be used to ignore this acl statement even if other options are set. This is usefull if statements are created via hiera_hash with deep_merge, and you want to completly disable a statement defined in a lower hierachy.
Default value: false
This define can be used to create addresslists, which can be referenced later
The following parameters are available in the exim::addresslist
defined type:
Data type: Array[String]
Array containing a list of hosts
This module configures a single authenticator in exims configuration
The following parameters are available in the exim::authenticator
defined type:
client_name
client_secret
client_send
driver
public_name
server_secret
server_condition
server_advertise_condition
server_debug_print
server_set_id
server_prompts
Data type: Optional[String]
This string is expanded, and the result used as the user name data when computing the response to the server’s challenge.
Default value: undef
Data type: Optional[String]
This option must be set for the authenticator to work as a client. Its value is expanded and the result used as the secret string when computing the response.
Default value: undef
Data type: Optional[String]
Array of authentication data strings. The first string is send with the AUTH command. The remaining ones are send in response to prompts from the server. Circumflex characters ('^') are converted to binary zero bytes ('\0') by Exim.
Default value: undef
Data type: String
driver to use for the authenticator
Data type: String
How to anounce the authenticator to the outside (PLAIN/LOGIN)
Data type: Optional[String]
For use with cram_md5, server_secret is expanded to obtain the password for that user.
Default value: undef
Data type: Optional[String]
The authentication check
Default value: undef
Data type: Optional[String]
The condition under which to advertise this authenticator
Default value: undef
Data type: Optional[String]
Debug print when authentication debugging is enabled
Default value: undef
Data type: Optional[String]
Set the $authenticated_id variable for later use
Default value: undef
Data type: Optional[String]
Promt used in the smtp session to ask for data (User: Password:)
Default value: undef
This define can be used to create domainlists, which can be referenced later
The following parameters are available in the exim::domainlist
defined type:
Data type: Array[String]
Array containing a list of domains
Data type: Optional[String]
If path is set, domains are listed in a file located in this path, the main config will recieve a reference to this file. If path is not set, domains are written directly into the config file instead.
Default value: undef
This define can be used to create hostlists, which can be referenced later
The following parameters are available in the exim::hostlist
defined type:
Data type: Array[String]
Array containing a list of hosts
This define is used to build retry rules
The following parameters are available in the exim::retry
defined type:
Data type: Integer
Determines the order, in which retry statements are evaluated
Default value: 1
Data type: String
Determines on which errors the rule should apply
Default value: '*'
Data type: Array
Timing information for retries Type: array of arrays
Default value: [['F', '4h', '5m'], ['G', '16h', '1h', '1.5'], ['F', '4d', '6h']]
Data type: Optional[String]
Domain for which to define retries (default: $title)
Default value: $title
This define is used to build rewrite rules
The following parameters are available in the exim::rewrite
defined type:
Data type: Integer
Determines the order, in which retry statements are evaluated
Default value: 1
Data type: String
Matches those addresses that are to be rewriten by rule
Data type: String
the replacement string for matching pattern
Data type: Array[Enum['E','F','T','b','c','f','h','r','s','t','Q','q','R','w','S']]
The flags are single characters which indicates the address location to which the rule applies and how the rewriting takes place
This module configures a single router in exims configuration
The following parameters are available in the exim::router
defined type:
disable
order
address_data
caseful_local_part
retry_use_local_part
comment
driver
allow_defer
allow_fail
allow_filter
condition
data
debug_print
domains
file_transport
file
headers_add
headers_remove
host_find_failed
ignore_target_hosts
local_parts
local_part_prefix
local_part_suffix
local_part_prefix_optional
local_part_suffix_optional
no_address_test
no_more
no_verify
pipe_transport
reply_transport
qualify_preserve_domain
route_data
route_list
same_domain_copy_routing
self
senders
transport
unseen
user
errors_to
cannot_route_message
require_files
Data type: Boolean
If set to true, this router is excluded from the configuration.
Default value: false
Data type: Integer
Order of routers is important, set it here
Default value: 0
Data type: Optional[String]
Set the address_data variable
Default value: undef
Data type: Optional[Boolean]
Sets the caseful_local_part option.
Default value: undef
Data type: Optional[Boolean]
Sets the retry_use_local_part option.
Default value: undef
Data type: Optional[Array[String]]
Comment a router, this will be placed as a comment just above the router.
Default value: undef
Data type: String
Sets the type of router.
Data type: Boolean
If set to true, the router can defer messages if needed.
Default value: false
Data type: Boolean
If set to true, the router can fail messages if needed.
Default value: false
Data type: Boolean
If set to true, filters can be used.
Default value: false
Data type: Optional[String]
(Advanced) Conditions when this router should be used
Default value: undef
Data type: Optional[String]
Data source for the rewrite router
Default value: undef
Data type: Optional[String]
Used to print debug information
Default value: undef
Data type: Optional[Array[String]]
Domains for which this router should be used.
Default value: undef
Data type: Optional[String]
Set the file_transport, used if the outcome of the router points to a file
Default value: undef
Data type: Optional[String]
Set the file that contains the filter rules.
Default value: undef
Data type: Optional[Array[String]]
Add these Headers to a message
Default value: undef
Data type: Optional[Array[String]]
Remove these Headers to a message
Default value: undef
Data type: Optional[String]
Relevant to the manualroute router, it determines what shoud happen if the used host can't be resolved to an IP address.
Default value: undef
Data type: Optional[Array[String]]
remove this host from hostlists gererated by this router
Default value: undef
Data type: Optional[Array[String]]
The router is run only if the local part of the address matches the list.
Default value: undef
Data type: Optional[String]
Define a prefix, present on localparts
Default value: undef
Data type: Optional[String]
Define a suffix, present on localparts
Default value: undef
Data type: Boolean
Is the prefix optional?
Default value: false
Data type: Boolean
Is the suffix optional?
Default value: false
Data type: Boolean
Skip this router in address testing mode (exim -bt)
Default value: false
Data type: Boolean
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.
Default value: false
Data type: Boolean
Skip this router when verifying addresses.
Default value: false
Data type: Optional[String]
Set the pipe_transport, used if the outcome of the router points to a pipe
Default value: undef
Data type: Optional[String]
Set the reply_transport, used if the outcome of the router points to mail or vacation
Default value: undef
Data type: Boolean
For redirect routers If an unqualified address (one without a domain) is generated, it is qualified with the domain of the parent address.
Default value: false
Data type: Optional[String]
If this option is set, it must expand to yield the data part of a routing rule.
Default value: undef
Data type: Optional[String]
Target server used by manualroute router.
Default value: undef
Data type: Optional[Boolean]
This option copys routing information to all mails targeting the same domain.
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[Array[String]]
If this option is set, the router is skipped unless the message’s sender address matches something on the list.
Default value: undef
Data type: Optional[String]
Which transport should be used to send mails.
Default value: undef
Data type: Boolean
When this option is set true, routing does not cease if the router accepts the address.
Default value: false
Data type: Optional[String]
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.
Default value: undef
Data type: Optional[String]
override the destination of a generated bounce message
Default value: undef
Data type: Optional[String]
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"
Default value: undef
Data type: Optional[Array[String]]
dont run this router if specified files does not exist
Default value: undef
This module configures a single transport in exims configuration
- TODO The transport class is a catch all and provides options for different transports. This is not optimal. I suggest refactoring into several subclasses with specific options and validating THIS class' type maybe Volunteers, step up!
The following parameters are available in the exim::transport
defined type:
allow_localhost
comment
driver
protocol
quota
quota_warn_threshold
quota_warn_message
quota_is_inclusive
maildir_use_size_file
connect_timeout
connection_max_messages
exim_environment
fallback_hosts
from
helo_data
headers_remove
headers_add
hosts
hosts_require_auth
hosts_require_tls
hosts_try_auth
hosts_avoid_pipelining
path
port
return_fail_output
return_output
timeout
timeout_defer
tls_dh_min_bits
tls_verify_certificates
interface
dkim_domain
dkim_selector
dkim_private_key
dkim_canon
dkim_strict
once
once_repeat
once_file_size
headers
return_message
debug_print
delivery_date_add
envelope_to_add
freeze_exec_fail
initgroups
log_output
maildir_format
rcpt_include_affixes
return_path_add
temp_errors
batch_max
command
directory
directory_mode
file
group
home_directory
maildir_tag
message_prefix
message_suffix
message_size_limit
message_linelength_limit
mode
socket
subject
text
to
transport_filter
user
serialize_hosts
Data type: Boolean
Allow connections to localhost
Default value: false
Data type: Optional[Array[String]]
Comment a router, this will be placed as a comment just above the router
Default value: undef
Data type: String[1]
Type of transport
Default value: undef
Data type: Optional[String[1]]
Protocol of transport
Default value: undef
Data type: Optional[String[1]]
Quota
Default value: undef
Data type: Optional[String[1]]
Quota warning threshold
Default value: undef
Data type: Optional[String[1]]
Quota warning message
Default value: undef
Data type: Boolean
Whether quota is inclusive
Default value: true
Data type: Boolean
Use maildir size file for quota
Default value: false
Data type: Optional[String[1]]
Timeout when connecting to remote Servers
Default value: undef
Data type: Optional[Integer]
Set the maximum number of messages that can be transfered in a single connection
Default value: undef
Data type: Optional[Tuple]
This option is used to add additional variables to the environment in which the command runs
Default value: undef
Data type: Optional[Array[String]]
If Exim is unable to deliver to any of the hosts for a particular address, and the errors are not permanent rejections, the address is put on a separate transport queue with its host list replaced by the fallback hosts
Default value: undef
Data type: Optional[String[1]]
sets the from address
Default value: undef
Data type: Optional[String[1]]
sets the helo name exim uses when connecting to a remote server
Default value: undef
Data type: Optional[Array[String]]
list of headers to remove
Default value: undef
Data type: Optional[Array[String]]
list of headers to add
Default value: undef
Data type: Optional[Array[String]]
The hosts option specifies a list of hosts to be used if the address being processed does not have any hosts associated with it. The hosts specified by hosts are also used, whether or not the address has its own hosts, if hosts_override is set
Default value: undef
Data type: Optional[Array[String]]
Specifies a list of servers for which authentication must succeed before Exim will try to transfer a message. If authentication fails for one of these servers, delivery is deferred
Default value: undef
Data type: Optional[Array[String]]
List of hosts requiring tls, messages are only sent if tls can be established
Default value: undef
Data type: Optional[Array[String]]
The host_try_auth option provides a list of hosts to which, provided they announce authentication support, Exim will attempt to authenticate as a client when it connects
Default value: undef
Data type: Optional[Array[String]]
Exim will not use the ESMTP PIPELINING extension when delivering to any host that matches this list, even if the server host advertises PIPELINING support.
Default value: undef
Data type: Optional[String[1]]
This option specifies the string that is set up in the PATH environment variable of the subprocess
Default value: undef
Data type: Optional[Integer]
The port exim connects to on the remote server
Default value: undef
Data type: Boolean
If set to true, the command output is returned in the bounce message in case of failure
Default value: false
Data type: Boolean
If this option is true, and the command produced any output, the delivery is deemed to have failed whatever the return code from the command, and the output is returned in the bounce message
Default value: false
Data type: Optional[String[1]]
If the command fails to complete within this time, it is killed
Default value: undef
Data type: Boolean
Set this to true for timeouts to become temporary errors, causing the delivery to be deferred
Default value: false
Data type: Optional[Integer]
set the minimum acceptable number of bits in the Diffie-Hellman prime offered by a server, default is 1024
Default value: undef
Data type: Optional[String[1]]
Give a path to certificates agains which connections are verified
Default value: undef
Data type: Optional[String[1]]
sets the outgoing ip for smtp transports
Default value: undef
Data type: Optional[Array[String]]
The domain(s) you want to sign with
Default value: undef
Data type: Optional[String[1]]
This sets the key selector string
Default value: undef
Data type: Optional[String[1]]
This sets the private key to use. You can use the $dkim_domain and $dkim_selector expansion variables to determine the private key to use The result can either
- be a valid RSA private key in ASCII armor, including line breaks
- start with a slash, in which case it is treated as a file that contains the private key
- be "0", "false" or the empty string, in which case the message will not be signed. This case will not result in an error, even if dkim_strict is set
Default value: undef
Data type: Optional[String[1]]
This option sets the canonicalization method used when signing a message The DKIM RFC currently supports two methods: "simple" and "relaxed" Note: the current implementation only supports using the same canonicalization method for both headers and body
Default value: undef
Data type: Optional[Integer]
This option defines how Exim behaves when signing a message that should be signed fails for some reason When the expansion evaluates to either "1" or "true", Exim will defer Otherwise Exim will send the message unsigned You can use the $dkim_domain and $dkim_selector expansion variables here
Default value: undef
Data type: Optional[String[1]]
Use:autoreply;Type:string;Default:unset; This option names a file or DBM database in which a record of each To: recipient is kept when the message is specified by the transport
Default value: undef
Data type: Optional[String[1]]
Use:autoreply;Type:time;Default:0s; specifies a maximum time between repeats
Default value: undef
Data type: Optional[String[1]]
Use:autoreply;Type:integer;Default:0; If once_file_size is zero, a DBM database is used to remember recipients, and it is allowed to grow as large as necessary. If once_file_size is set greater than zero, it changes the way Exim implements the once option. Instead of using a DBM file to record every recipient it sends to, it uses a regular file, whose size will never get larger than the given value
Default value: undef
Data type: Optional[String[1]]
Use:autoreply;Type:string;Default:unset; This specifies additional RFC 2822 headers that are to be added to the message when the message is specified by the transport. Several can be given by using “\n” to separate them There is no check on the format
Default value: undef
Data type: Optional[String[1]]
Use:autoreply;Type:boolean;Default:false; If this is set, a copy of the original message is returned with the new message, subject to the maximum size set in the return_size_limit global configuration option
Default value: undef
Data type: Optional[String[1]]
Used to print debug information
Default value: undef
Data type: Boolean
If this option is true, a Delivery-date: header is added to the message This gives the actual time the delivery was made. As this is not a standard header, Exim has a configuration option (delivery_date_remove) which requests its removal from incoming messages, so that delivered messages can safely be resent to other recipients
Default value: false
Data type: Boolean
If this option is true, an Envelope-to: header is added to the message This gives the original address(es) in the incoming envelope that caused this delivery to happen. More than one address may be present if batch or bsmtp is set on transports that support them, or if more than one original address was aliased or forwarded to the same final address. As this is not a standard header, Exim has a configuration option (envelope_to_remove) which requests its removal from incoming messages, so that delivered messages can safely be resent to other recipients
Default value: false
Data type: Boolean
Failure to exec the command in a pipe transport is by default treated like any other failure while running the command. However, if freeze_exec_fail is set, failure to exec is treated specially, and causes the message to be frozen, whatever the setting of ignore_status
Default value: false
Data type: Boolean
If this option is true and the uid for the delivery process is provided by the transport, the initgroups() function is called when running the transport to ensure that any additional groups associated with the uid are set up
Default value: false
Data type: Boolean
This limits the number of addresses that can be handled in a single delivery. See the description of local delivery batching in chapter 25
Default value: false
Data type: Boolean
If this option is set with the directory option, the delivery is into a new file, in the “maildir” format that is used by other mail software
Default value: false
Data type: Boolean
When this option is false (the default), and an address that has had any affixes (prefixes or suffixes) removed from the local part is delivered by any form of SMTP or LMTP, the affixes are not included
Default value: false
Data type: Boolean
If this option is true, a Return-path: header is added to the message Although the return path is normally available in the prefix line of BSD mailboxes, this is commonly not displayed by MUAs, and so the user does not have easy access to it
Default value: false
Data type: Optional[Array[String]]
This option contains either a colon-separated list of numbers, or a single asterisk
Default value: undef
Data type: Optional[Integer]
This limits the number of addresses that can be handled in a single delivery. See the description of local delivery batching in chapter 25
Default value: undef
Data type: Optional[String[1]]
This option need not be set when pipe is being used to deliver to pipes obtained from address expansions
Default value: undef
Data type: Optional[String[1]]
When directory is set, the string is expanded, and the message is delivered into a new file or files in or below the given directory, instead of being appended to a single mailbox file
Default value: undef
Data type: Optional[String[1]]
If appendfile creates any directories as a result of the create_directory option, their mode is specified by this option
Default value: undef
Data type: Optional[String[1]]
The file option specifies a single file, to which the message is appended
Default value: undef
Data type: Optional[String[1]]
This option specifies a gid for running the transport process
Default value: undef
Data type: Optional[String[1]]
This option specifies a home directory setting for a local transport
Default value: undef
Data type: Optional[String[1]]
This option applies only to deliveries in maildir format, and is described in section 26.5 below
Default value: undef
Data type: Optional[String[1]]
The string specified here is expanded and output at the start of every message
Default value: undef
Data type: Optional[String[1]]
The string specified here is expanded and output at the end of every message
Default value: undef
Data type: Optional[String[1]]
The string specified here is expanded and determines the maximum size of the message
Default value: undef
Data type: Optional[Integer]
This option sets the maximum line length, in bytes, that the transport will send.
Default value: undef
Data type: Optional[String[1]]
If the output file is created, it is given this mode
Default value: undef
Data type: Optional[String[1]]
This option must be set if command is not set. The result of expansion must be the name of a Unix domain socket
Default value: undef
Data type: Optional[String[1]]
This specifies the contents of the Subject: header when the message is specified by the transport
Default value: undef
Data type: Optional[String[1]]
This specifies a single string to be used as the body of the message when the message is specified by the transport. If both text and file are set, the text comes first
Default value: undef
Data type: Optional[String[1]]
This specifies recipients of the message and the contents of the To: header when the message is specified by the transport
Default value: undef
Data type: Optional[String[1]]
This option sets up a filtering (in the Unix shell sense) process for messages at transport time. It should not be confused with mail filtering as set up by individual users or via a system filter
Default value: undef
Data type: Optional[String[1]]
This option specifies the user under whose uid the delivery process is to be run
Default value: undef
Data type: Optional[Array[String]]
Array of hosts to serialize
Default value: undef