in attachment my config.autogenerated.tmp
** Attachment added: "config.autogenerated.tmp"
https://bugs.launchpad.net/ubuntu/+source/exim4/+bug/1805877/+attachment/5217609/+files/config.autogenerated.tmp
** Description changed:
if i enable SPF setting "CHECK_RCPT_SPF = true" in
/etc/exim4/conf.d/acl/30_exim4-config_check_rcpt, running update-
exim4.conf lead to this error:
2018-11-29 18:11:07 Exim configuration error in line 371 of
/var/lib/exim4/config.autogenerated.tmp:
missing or malformed ACL name
Invalid new configfile /var/lib/exim4/config.autogenerated.tmp, not installing
it's a fresh bionic install.
This is the first change i make to configurations files.
Ubuntu 18.04.1 LTS
exim4 version 4.90.1-1ubuntu1
-
- this is the failing config.autogenerated.tmp
-
- #########
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # This file was generated dynamically from
- # split config files in the /etc/exim4/conf.d/ directory.
- # The config files are supplemented with package installation/configuration
- # settings managed by debconf. This data is stored in
- # /etc/exim4/update-exim4.conf.conf
- # Any changes you make here will be lost.
- # See /usr/share/doc/exim4-base/README.Debian.gz and update-exim4.conf(8)
- # for instructions of customization.
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- # WARNING WARNING WARNING
- #########
-
- exim_path = /usr/sbin/exim4
-
- .ifndef CONFDIR
- CONFDIR = /etc/exim4
- .endif
-
- UPEX4CmacrosUPEX4C = 1
- ##############################################
- # the following macro definitions were created
- # dynamically by /usr/sbin/update-exim4.conf
- .ifndef MAIN_LOCAL_INTERFACES
- MAIN_LOCAL_INTERFACES=<; 0.0.0.0.25 ; 0.0.0.0.465 ; 0.0.0.0.587 ; ::1
- .endif
- .ifndef MAIN_PACKAGE_VERSION
- MAIN_PACKAGE_VERSION=4.90.1-1ubuntu1
- .endif
- .ifndef MAIN_LOCAL_DOMAINS
- MAIN_LOCAL_DOMAINS=@:localhost:mydomain.it
- .endif
- .ifndef MAIN_RELAY_TO_DOMAINS
- MAIN_RELAY_TO_DOMAINS=
- .endif
- .ifndef ETC_MAILNAME
- ETC_MAILNAME=mydomain.it
- .endif
- .ifndef LOCAL_DELIVERY
- LOCAL_DELIVERY=maildir_home
- .endif
- .ifndef MAIN_RELAY_NETS
- MAIN_RELAY_NETS=<; 192.168.0.0/24; 192.168.1.0/24; ; 127.0.0.1 ; ::1
- .endif
- .ifndef DCreadhost
- DCreadhost=
- .endif
- .ifndef DCsmarthost
- DCsmarthost=
- .endif
- .ifndef DC_eximconfig_configtype
- DC_eximconfig_configtype=internet
- .endif
- .ifndef DCconfig_internet
- DCconfig_internet=1
- .endif
- ##############################################
-
- domainlist local_domains = MAIN_LOCAL_DOMAINS
-
- domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS
-
- hostlist relay_from_hosts = MAIN_RELAY_NETS
-
- .ifndef MAIN_PRIMARY_HOSTNAME_AS_QUALIFY_DOMAIN
- .ifndef MAIN_QUALIFY_DOMAIN
- qualify_domain = ETC_MAILNAME
- .else
- qualify_domain = MAIN_QUALIFY_DOMAIN
- .endif
- .endif
-
- .ifdef MAIN_LOCAL_INTERFACES
- local_interfaces = MAIN_LOCAL_INTERFACES
- .endif
-
- .ifndef LOCAL_DELIVERY
- LOCAL_DELIVERY=mail_spool
- .endif
-
- gecos_pattern = ^([^,:]*)
- gecos_name = $1
-
- .ifndef CHECK_RCPT_LOCAL_LOCALPARTS
- CHECK_RCPT_LOCAL_LOCALPARTS = ^[.] : ^.*[@%!/|`#&?]
- .endif
-
- .ifndef CHECK_RCPT_REMOTE_LOCALPARTS
- CHECK_RCPT_REMOTE_LOCALPARTS = ^[./|] : ^.*[@%!`#&?] : ^.*/\\.\\./
- .endif
-
- .ifndef MAIN_LOG_SELECTOR
- MAIN_LOG_SELECTOR = +smtp_protocol_error +smtp_syntax_error
+tls_certificate_verified +tls_peerdn
- .endif
-
- .ifndef MAIN_ACL_CHECK_MAIL
- MAIN_ACL_CHECK_MAIL = acl_check_mail
- .endif
- acl_smtp_mail = MAIN_ACL_CHECK_MAIL
-
- .ifndef MAIN_ACL_CHECK_RCPT
- MAIN_ACL_CHECK_RCPT = acl_check_rcpt
- .endif
- acl_smtp_rcpt = MAIN_ACL_CHECK_RCPT
-
- .ifndef MAIN_ACL_CHECK_DATA
- MAIN_ACL_CHECK_DATA = acl_check_data
- .endif
- acl_smtp_data = MAIN_ACL_CHECK_DATA
-
- .ifdef MESSAGE_SIZE_LIMIT
- message_size_limit = MESSAGE_SIZE_LIMIT
- .endif
-
- .ifdef MAIN_ALLOW_DOMAIN_LITERALS
- allow_domain_literals
- .endif
-
- .ifndef DC_minimaldns
- .ifndef MAIN_HOST_LOOKUP
- MAIN_HOST_LOOKUP = *
- .endif
- host_lookup = MAIN_HOST_LOOKUP
- .endif
-
- .ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME
- primary_hostname = MAIN_HARDCODE_PRIMARY_HOSTNAME
- .endif
-
- prdr_enable = true
-
- .ifdef MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS
- smtp_accept_max_nonmail_hosts = MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS
- .endif
-
- .ifndef MAIN_FORCE_SENDER
- local_from_check = false
- local_sender_retain = true
- untrusted_set_sender = *
- .endif
-
- .ifndef MAIN_IGNORE_BOUNCE_ERRORS_AFTER
- MAIN_IGNORE_BOUNCE_ERRORS_AFTER = 2d
- .endif
- ignore_bounce_errors_after = MAIN_IGNORE_BOUNCE_ERRORS_AFTER
-
- .ifndef MAIN_TIMEOUT_FROZEN_AFTER
- MAIN_TIMEOUT_FROZEN_AFTER = 7d
- .endif
- timeout_frozen_after = MAIN_TIMEOUT_FROZEN_AFTER
-
- .ifndef MAIN_FREEZE_TELL
- MAIN_FREEZE_TELL = postmaster
- .endif
- freeze_tell = MAIN_FREEZE_TELL
-
- .ifndef SPOOLDIR
- SPOOLDIR = /var/spool/exim4
- .endif
- spool_directory = SPOOLDIR
-
- .ifndef MAIN_TRUSTED_USERS
- MAIN_TRUSTED_USERS = uucp
- .endif
- trusted_users = MAIN_TRUSTED_USERS
- .ifdef MAIN_TRUSTED_GROUPS
- trusted_groups = MAIN_TRUSTED_GROUPS
- .endif
-
- .ifdef MAIN_KEEP_ENVIRONMENT
- keep_environment = MAIN_KEEP_ENVIRONMENT
- .else
- keep_environment =
- .endif
- .ifdef MAIN_ADD_ENVIRONMENT
- add_environment = MAIN_ADD_ENVIRONMENT
- .endif
-
- .ifdef MAIN_TLS_ENABLE
- .ifndef MAIN_TLS_ADVERTISE_HOSTS
- MAIN_TLS_ADVERTISE_HOSTS = *
- .endif
- tls_advertise_hosts = MAIN_TLS_ADVERTISE_HOSTS
-
- .ifdef MAIN_TLS_CERTKEY
- tls_certificate = MAIN_TLS_CERTKEY
- .else
- .ifndef MAIN_TLS_CERTIFICATE
- MAIN_TLS_CERTIFICATE = CONFDIR/exim.crt
- .endif
- tls_certificate = MAIN_TLS_CERTIFICATE
-
- .ifndef MAIN_TLS_PRIVATEKEY
- MAIN_TLS_PRIVATEKEY = CONFDIR/exim.key
- .endif
- tls_privatekey = MAIN_TLS_PRIVATEKEY
- .endif
-
- .ifndef MAIN_TLS_VERIFY_CERTIFICATES
- MAIN_TLS_VERIFY_CERTIFICATES = ${if
exists{/etc/ssl/certs/ca-certificates.crt}\
- {/etc/ssl/certs/ca-certificates.crt}\
- {/dev/null}}
- .endif
- tls_verify_certificates = MAIN_TLS_VERIFY_CERTIFICATES
-
- .ifdef MAIN_TLS_VERIFY_HOSTS
- tls_verify_hosts = MAIN_TLS_VERIFY_HOSTS
- .endif
-
- .ifdef MAIN_TLS_TRY_VERIFY_HOSTS
- tls_try_verify_hosts = MAIN_TLS_TRY_VERIFY_HOSTS
- .endif
-
- .ifdef _HAVE_GNUTLS
- tls_dhparam = historic
- .endif
-
- .else
- tls_advertise_hosts =
- .endif
-
- .ifdef MAIN_LOG_SELECTOR
- log_selector = MAIN_LOG_SELECTOR
- .endif
-
- begin acl
-
- acl_local_deny_exceptions:
- accept
- hosts = ${if exists{CONFDIR/host_local_deny_exceptions}\
- {CONFDIR/host_local_deny_exceptions}\
- {}}
- accept
- senders = ${if exists{CONFDIR/sender_local_deny_exceptions}\
- {CONFDIR/sender_local_deny_exceptions}\
- {}}
- accept
- hosts = ${if exists{CONFDIR/local_host_whitelist}\
- {CONFDIR/local_host_whitelist}\
- {}}
- accept
- senders = ${if exists{CONFDIR/local_sender_whitelist}\
- {CONFDIR/local_sender_whitelist}\
- {}}
-
- .ifdef LOCAL_DENY_EXCEPTIONS_LOCAL_ACL_FILE
- .include LOCAL_DENY_EXCEPTIONS_LOCAL_ACL_FILE
- .endif
-
- .ifdef WHITELIST_LOCAL_DENY_LOCAL_ACL_FILE
- .include WHITELIST_LOCAL_DENY_LOCAL_ACL_FILE
- .endif
-
- acl_check_mail:
-
- accept
-
- acl_check_rcpt:
-
- accept
- hosts = :
- control = dkim_disable_verify
-
- .ifdef DC_minimaldns
- warn
- control = dkim_disable_verify
- .else
- .ifdef DISABLE_DKIM_VERIFY
- warn
- control = dkim_disable_verify
- .endif
- .endif
-
- .ifdef CHECK_RCPT_LOCAL_LOCALPARTS
- deny
- domains = +local_domains
- local_parts = CHECK_RCPT_LOCAL_LOCALPARTS
- message = restricted characters in address
- .endif
-
- .ifdef CHECK_RCPT_REMOTE_LOCALPARTS
- deny
- domains = !+local_domains
- local_parts = CHECK_RCPT_REMOTE_LOCALPARTS
- message = restricted characters in address
- .endif
-
- accept
- .ifndef CHECK_RCPT_POSTMASTER
- local_parts = postmaster
- .else
- local_parts = CHECK_RCPT_POSTMASTER
- .endif
- domains = +local_domains : +relay_to_domains
-
- .ifdef CHECK_RCPT_VERIFY_SENDER
- deny
- message = Sender verification failed
- !acl = acl_local_deny_exceptions
- !verify = sender
- .endif
-
- deny
- !acl = acl_local_deny_exceptions
- senders = ${if exists{CONFDIR/local_sender_callout}\
- {CONFDIR/local_sender_callout}\
- {}}
- !verify = sender/callout
-
- accept
- hosts = +relay_from_hosts
- control = submission/sender_retain
- control = dkim_disable_verify
-
- accept
- authenticated = *
- control = submission/sender_retain
- control = dkim_disable_verify
-
- require message = nice hosts say HELO first
- condition = ${if def:sender_helo_name}
-
- require
- message = relay not permitted
- domains = +local_domains : +relay_to_domains
-
- require
- verify = recipient
-
- deny
- !acl = acl_local_deny_exceptions
- recipients = ${if exists{CONFDIR/local_rcpt_callout}\
- {CONFDIR/local_rcpt_callout}\
- {}}
- !verify = recipient/callout
-
- deny
- message = sender envelope address $sender_address is locally blacklisted
here. If you think this is wrong, get in touch with postmaster
- !acl = acl_local_deny_exceptions
- senders = ${if exists{CONFDIR/local_sender_blacklist}\
- {CONFDIR/local_sender_blacklist}\
- {}}
-
- deny
- message = sender IP address $sender_host_address is locally blacklisted
here. If you think this is wrong, get in touch with postmaster
- !acl = acl_local_deny_exceptions
- hosts = ${if exists{CONFDIR/local_host_blacklist}\
- {CONFDIR/local_host_blacklist}\
- {}}
-
- .ifdef CHECK_RCPT_REVERSE_DNS
- warn
- condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}\
- {yes}{no}}
- add_header = X-Host-Lookup-Failed: Reverse DNS lookup failed for
$sender_host_address (${if eq{$host_lookup_failed}{1}{failed}{deferred}})
- .endif
-
- CHECK_RCPT_SPF = true
- .ifdef CHECK_RCPT_SPF
- deny
- message = [SPF] $sender_host_address is not allowed to send mail from \
- ${if def:sender_address_domain
{$sender_address_domain}{$sender_helo_name}}. \
- Please see \
- http://www.openspf.org/Why?scope=${if def:sender_address_domain \
- {mfrom}{helo}};identity=${if def:sender_address_domain \
- {$sender_address}{$sender_helo_name}};ip=$sender_host_address
- log_message = SPF check failed.
- !acl = acl_local_deny_exceptions
- condition = ${run{/usr/bin/spfquery.mail-spf-perl --ip \
- ${quote:$sender_host_address} --identity \
- ${if def:sender_address_domain \
- {--scope mfrom --identity ${quote:$sender_address}}\
- {--scope helo --identity ${quote:$sender_helo_name}}}}\
- {no}{${if eq {$runrc}{1}{yes}{no}}}}
-
- defer
- message = Temporary DNS error while checking SPF record. Try again later.
- !acl = acl_local_deny_exceptions
- condition = ${if eq {$runrc}{5}{yes}{no}}
-
- warn
- condition = ${if <={$runrc}{6}{yes}{no}}
- add_header = Received-SPF: ${if eq {$runrc}{0}{pass}\
- {${if eq {$runrc}{2}{softfail}\
- {${if eq {$runrc}{3}{neutral}\
- {${if eq {$runrc}{4}{permerror}\
- {${if eq {$runrc}{6}{none}{error}}}}}}}}}\
- } client-ip=$sender_host_address; \
- ${if def:sender_address_domain \
- {envelope-from=${sender_address}; }{}}\
- helo=$sender_helo_name
-
- warn
- log_message = Unexpected error in SPF check.
- condition = ${if >{$runrc}{6}{yes}{no}}
- .endif
-
- .ifdef CHECK_RCPT_IP_DNSBLS
- warn
- dnslists = CHECK_RCPT_IP_DNSBLS
- add_header = X-Warning: $sender_host_address is listed at $dnslist_domain
($dnslist_value: $dnslist_text)
- log_message = $sender_host_address is listed at $dnslist_domain
($dnslist_value: $dnslist_text)
- .endif
-
- .ifdef CHECK_RCPT_DOMAIN_DNSBLS
- warn
- !senders = ${if exists{CONFDIR/local_domain_dnsbl_whitelist}\
- {CONFDIR/local_domain_dnsbl_whitelist}\
- {}}
- dnslists = CHECK_RCPT_DOMAIN_DNSBLS
- add_header = X-Warning: $sender_address_domain is listed at
$dnslist_domain ($dnslist_value: $dnslist_text)
- log_message = $sender_address_domain is listed at $dnslist_domain
($dnslist_value: $dnslist_text)
- .endif
-
- .ifdef CHECK_RCPT_LOCAL_ACL_FILE
- .include CHECK_RCPT_LOCAL_ACL_FILE
- .endif
-
- accept
- domains = +relay_to_domains
- endpass
- verify = recipient
-
- accept
-
- acl_check_data:
-
- .ifndef IGNORE_SMTP_LINE_LENGTH_LIMIT
- deny message = maximum allowed line length is 998 octets, \
- got $max_received_linelength
- condition = ${if > {$max_received_linelength}{998}}
- .endif
-
- .ifdef CHECK_DATA_VERIFY_HEADER_SYNTAX
- deny
- message = Message headers fail syntax check
- !acl = acl_local_deny_exceptions
- !verify = header_syntax
- .endif
-
- .ifdef CHECK_DATA_VERIFY_HEADER_SENDER
- deny
- message = No verifiable sender address in message headers
- !acl = acl_local_deny_exceptions
- !verify = header_sender
- .endif
-
- .ifdef CHECK_DATA_LOCAL_ACL_FILE
- .include CHECK_DATA_LOCAL_ACL_FILE
- .endif
-
- accept
-
- begin routers
-
- .ifdef MAIN_ALLOW_DOMAIN_LITERALS
- domain_literal:
- debug_print = "R: domain_literal for $local_part@$domain"
- driver = ipliteral
- domains = ! +local_domains
- transport = remote_smtp
- .endif
-
- hubbed_hosts:
- debug_print = "R: hubbed_hosts for $domain"
- driver = manualroute
- domains = "${if exists{CONFDIR/hubbed_hosts}\
- {partial-lsearch;CONFDIR/hubbed_hosts}\
- fail}"
- same_domain_copy_routing = yes
- route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
- transport = remote_smtp
-
- .ifdef DCconfig_internet
-
- dnslookup_relay_to_domains:
- debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
- driver = dnslookup
- domains = ! +local_domains : +relay_to_domains
- transport = remote_smtp
- same_domain_copy_routing = yes
- no_more
-
- dnslookup:
- debug_print = "R: dnslookup for $local_part@$domain"
- driver = dnslookup
- domains = ! +local_domains
- transport = remote_smtp
- same_domain_copy_routing = yes
- ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
- 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
- 255.255.255.255
- no_more
-
- .endif
-
- .ifdef DCconfig_local
- nonlocal:
- debug_print = "R: nonlocal for $local_part@$domain"
- driver = redirect
- domains = ! +local_domains
- allow_fail
- data = :fail: Mailing to remote domains not supported
- no_more
-
- .endif
-
- .ifdef DCconfig_smarthost DCconfig_satellite
-
- smarthost:
- debug_print = "R: smarthost for $local_part@$domain"
- driver = manualroute
- domains = ! +local_domains
- transport = remote_smtp_smarthost
- route_list = * DCsmarthost byname
- host_find_failed = ignore
- same_domain_copy_routing = yes
- no_more
-
- .endif
-
- COND_LOCAL_SUBMITTER = "\
- ${if match_ip{$sender_host_address}{:@[]}\
- {1}{0}\
- }"
-
- real_local:
- debug_print = "R: real_local for $local_part@$domain"
- driver = accept
- domains = +local_domains
- condition = COND_LOCAL_SUBMITTER
- local_part_prefix = real-
- check_local_user
- transport = LOCAL_DELIVERY
-
- system_aliases:
- debug_print = "R: system_aliases for $local_part@$domain"
- driver = redirect
- domains = +local_domains
- allow_fail
- allow_defer
- data = ${lookup{$local_part}lsearch{/etc/aliases}}
- .ifdef SYSTEM_ALIASES_USER
- user = SYSTEM_ALIASES_USER
- .endif
- .ifdef SYSTEM_ALIASES_GROUP
- group = SYSTEM_ALIASES_GROUP
- .endif
- .ifdef SYSTEM_ALIASES_FILE_TRANSPORT
- file_transport = SYSTEM_ALIASES_FILE_TRANSPORT
- .endif
- .ifdef SYSTEM_ALIASES_PIPE_TRANSPORT
- pipe_transport = SYSTEM_ALIASES_PIPE_TRANSPORT
- .endif
- .ifdef SYSTEM_ALIASES_DIRECTORY_TRANSPORT
- directory_transport = SYSTEM_ALIASES_DIRECTORY_TRANSPORT
- .endif
-
- .ifdef DCconfig_satellite
- hub_user:
- debug_print = "R: hub_user for $local_part@$domain"
- driver = redirect
- domains = +local_domains
- data = ${local_part}@DCreadhost
- check_local_user
-
- hub_user_smarthost:
- debug_print = "R: hub_user_smarthost for $local_part@$domain"
- driver = manualroute
- domains = DCreadhost
- transport = remote_smtp_smarthost
- route_list = * DCsmarthost byname
- host_find_failed = ignore
- same_domain_copy_routing = yes
- check_local_user
- .endif
-
- userforward:
- debug_print = "R: userforward for $local_part@$domain"
- driver = redirect
- domains = +local_domains
- check_local_user
- file = $home/.forward
- require_files = $local_part:$home/.forward
- no_verify
- no_expn
- check_ancestor
- allow_filter
- forbid_smtp_code = true
- directory_transport = address_directory
- file_transport = address_file
- pipe_transport = address_pipe
- reply_transport = address_reply
- skip_syntax_errors
- syntax_errors_to = real-$local_part@$domain
- syntax_errors_text = \
- This is an automatically generated message. An error has\n\
- been found in your .forward file. Details of the error are\n\
- reported below. While this error persists, you will receive\n\
- a copy of this message for every message that is addressed\n\
- to you. If your .forward file is a filter file, or if it is\n\
- a non-filter file containing no valid forwarding addresses,\n\
- a copy of each incoming message will be put in your normal\n\
- mailbox. If a non-filter file contains at least one valid\n\
- forwarding address, forwarding to the valid addresses will\n\
- happen, and those will be the only deliveries that occur.
-
- procmail:
- debug_print = "R: procmail for $local_part@$domain"
- driver = accept
- domains = +local_domains
- check_local_user
- transport = procmail_pipe
- require_files = ${local_part}:\
- ${if exists{/etc/procmailrc}\
- {/etc/procmailrc}{${home}/.procmailrc}}:\
- +/usr/bin/procmail
- no_verify
- no_expn
-
- maildrop:
- debug_print = "R: maildrop for $local_part@$domain"
- driver = accept
- domains = +local_domains
- check_local_user
- transport = maildrop_pipe
- require_files = ${local_part}:${home}/.mailfilter:+/usr/bin/maildrop
- no_verify
- no_expn
-
- .ifndef FIRST_USER_ACCOUNT_UID
- FIRST_USER_ACCOUNT_UID = 0
- .endif
-
- .ifndef DEFAULT_SYSTEM_ACCOUNT_ALIAS
- DEFAULT_SYSTEM_ACCOUNT_ALIAS = :fail: no mail to system accounts
- .endif
-
- COND_SYSTEM_USER_AND_REMOTE_SUBMITTER = "\
- ${if and{{! match_ip{$sender_host_address}{:@[]}}\
- {<{$local_user_uid}{FIRST_USER_ACCOUNT_UID}}}\
- {1}{0}\
- }"
-
- lowuid_aliases:
- debug_print = "R: lowuid_aliases for $local_part@$domain (UID
$local_user_uid)"
- check_local_user
- driver = redirect
- allow_fail
- domains = +local_domains
- condition = COND_SYSTEM_USER_AND_REMOTE_SUBMITTER
- data = ${if exists{CONFDIR/lowuid-aliases}\
- {${lookup{$local_part}lsearch{CONFDIR/lowuid-aliases}\
- {$value}{DEFAULT_SYSTEM_ACCOUNT_ALIAS}}}\
- {DEFAULT_SYSTEM_ACCOUNT_ALIAS}}
-
- local_user:
- debug_print = "R: local_user for $local_part@$domain"
- driver = accept
- domains = +local_domains
- check_local_user
- local_parts = ! root
- transport = LOCAL_DELIVERY
- cannot_route_message = Unknown user
-
- mail4root:
- debug_print = "R: mail4root for $local_part@$domain"
- driver = redirect
- domains = +local_domains
- data = /var/mail/mail
- file_transport = address_file
- local_parts = root
- user = mail
- group = mail
-
- begin transports
-
- .ifdef HIDE_MAILNAME
- REMOTE_SMTP_HEADERS_REWRITE=*@+local_domains $1@DCreadhost frs :
*@ETC_MAILNAME $1@DCreadhost frs
- REMOTE_SMTP_RETURN_PATH=${if
match_domain{$sender_address_domain}{+local_domains}{${sender_address_local_part}@DCreadhost}{${if
match_domain{$sender_address_domain}{ETC_MAILNAME}{${sender_address_local_part}@DCreadhost}fail}}}
- .endif
-
- .ifdef REMOTE_SMTP_HELO_FROM_DNS
- .ifdef REMOTE_SMTP_HELO_DATA
- REMOTE_SMTP_HELO_DATA==${lookup dnsdb
{ptr=$sending_ip_address}{$value}{$primary_hostname}}
- .else
- REMOTE_SMTP_HELO_DATA=${lookup dnsdb
{ptr=$sending_ip_address}{$value}{$primary_hostname}}
- .endif
- .endif
-
- address_file:
- debug_print = "T: address_file for $local_part@$domain"
- driver = appendfile
- delivery_date_add
- envelope_to_add
- return_path_add
-
- address_pipe:
- debug_print = "T: address_pipe for $local_part@$domain"
- driver = pipe
- return_fail_output
-
- address_reply:
- debug_print = "T: autoreply for $local_part@$domain"
- driver = autoreply
-
- mail_spool:
- debug_print = "T: appendfile for $local_part@$domain"
- driver = appendfile
- file = /var/mail/$local_part
- delivery_date_add
- envelope_to_add
- return_path_add
- group = mail
- mode = 0660
- mode_fail_narrower = false
-
- maildir_home:
- debug_print = "T: maildir_home for $local_part@$domain"
- driver = appendfile
- .ifdef MAILDIR_HOME_MAILDIR_LOCATION
- directory = MAILDIR_HOME_MAILDIR_LOCATION
- .else
- directory = $home/Maildir
- .endif
- .ifdef MAILDIR_HOME_CREATE_DIRECTORY
- create_directory
- .endif
- .ifdef MAILDIR_HOME_CREATE_FILE
- create_file = MAILDIR_HOME_CREATE_FILE
- .endif
- delivery_date_add
- envelope_to_add
- return_path_add
- maildir_format
- .ifdef MAILDIR_HOME_DIRECTORY_MODE
- directory_mode = MAILDIR_HOME_DIRECTORY_MODE
- .else
- directory_mode = 0700
- .endif
- .ifdef MAILDIR_HOME_MODE
- mode = MAILDIR_HOME_MODE
- .else
- mode = 0600
- .endif
- mode_fail_narrower = false
-
- maildrop_pipe:
- debug_print = "T: maildrop_pipe for $local_part@$domain"
- driver = pipe
- path = "/bin:/usr/bin:/usr/local/bin"
- command = "/usr/bin/maildrop"
- message_prefix =
- message_suffix =
- return_path_add
- delivery_date_add
- envelope_to_add
-
- procmail_pipe:
- debug_print = "T: procmail_pipe for $local_part@$domain"
- driver = pipe
- path = "/bin:/usr/bin:/usr/local/bin"
- command = "/usr/bin/procmail"
- return_path_add
- delivery_date_add
- envelope_to_add
-
- remote_smtp:
- debug_print = "T: remote_smtp for $local_part@$domain"
- driver = smtp
- .ifndef IGNORE_SMTP_LINE_LENGTH_LIMIT
- message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}}
- .endif
- .ifdef REMOTE_SMTP_HOSTS_AVOID_TLS
- hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS
- .endif
- .ifdef REMOTE_SMTP_HEADERS_REWRITE
- headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
- .endif
- .ifdef REMOTE_SMTP_RETURN_PATH
- return_path = REMOTE_SMTP_RETURN_PATH
- .endif
- .ifdef REMOTE_SMTP_HELO_DATA
- helo_data=REMOTE_SMTP_HELO_DATA
- .endif
- .ifdef DKIM_DOMAIN
- dkim_domain = DKIM_DOMAIN
- .endif
- .ifdef DKIM_SELECTOR
- dkim_selector = DKIM_SELECTOR
- .endif
- .ifdef DKIM_PRIVATE_KEY
- dkim_private_key = DKIM_PRIVATE_KEY
- .endif
- .ifdef DKIM_CANON
- dkim_canon = DKIM_CANON
- .endif
- .ifdef DKIM_STRICT
- dkim_strict = DKIM_STRICT
- .endif
- .ifdef DKIM_SIGN_HEADERS
- dkim_sign_headers = DKIM_SIGN_HEADERS
- .endif
- .ifdef TLS_DH_MIN_BITS
- tls_dh_min_bits = TLS_DH_MIN_BITS
- .endif
- .ifdef REMOTE_SMTP_TLS_CERTIFICATE
- tls_certificate = REMOTE_SMTP_TLS_CERTIFICATE
- .endif
- .ifdef REMOTE_SMTP_PRIVATEKEY
- tls_privatekey = REMOTE_SMTP_PRIVATEKEY
- .endif
-
- remote_smtp_smarthost:
- debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
- driver = smtp
- .ifndef IGNORE_SMTP_LINE_LENGTH_LIMIT
- message_size_limit = ${if > {$max_received_linelength}{998} {1}{0}}
- .endif
- hosts_try_auth = <; ${if exists{CONFDIR/passwd.client} \
- {\
- ${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$host_address}}\
- }\
- {} \
- }
- .ifdef REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
- hosts_avoid_tls = REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
- .endif
- .ifdef REMOTE_SMTP_SMARTHOST_HOSTS_REQUIRE_TLS
- hosts_require_tls = REMOTE_SMTP_SMARTHOST_HOSTS_REQUIRE_TLS
- .endif
- .ifdef REMOTE_SMTP_HEADERS_REWRITE
- headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
- .endif
- .ifdef REMOTE_SMTP_RETURN_PATH
- return_path = REMOTE_SMTP_RETURN_PATH
- .endif
- .ifdef REMOTE_SMTP_HELO_DATA
- helo_data=REMOTE_SMTP_HELO_DATA
- .endif
- .ifdef TLS_DH_MIN_BITS
- tls_dh_min_bits = TLS_DH_MIN_BITS
- .endif
- .ifdef REMOTE_SMTP_SMARTHOST_TLS_CERTIFICATE
- tls_certificate = REMOTE_SMTP_SMARTHOST_TLS_CERTIFICATE
- .endif
- .ifdef REMOTE_SMTP_SMARTHOST_PRIVATEKEY
- tls_privatekey = REMOTE_SMTP_SMARTHOST_PRIVATEKEY
- .endif
-
- address_directory:
- debug_print = "T: address_directory for $local_part@$domain"
- driver = appendfile
- delivery_date_add
- envelope_to_add
- return_path_add
- check_string = ""
- escape_string = ""
- maildir_format
-
- begin retry
-
- * * F,2h,15m; G,16h,1h,1.5; F,4d,6h
-
- begin rewrite
-
- .ifndef NO_EAA_REWRITE_REWRITE
- *@+local_domains "${lookup{${local_part}}lsearch{/etc/email-addresses}\
- {$value}fail}" Ffrs
- *@ETC_MAILNAME "${lookup{${local_part}}lsearch{/etc/email-addresses}\
- {$value}fail}" Ffrs
- .endif
-
- begin authenticators
-
- cram_md5:
- driver = cram_md5
- public_name = CRAM-MD5
- client_name =
${extract{1}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
- client_secret =
${extract{2}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
-
- PASSWDLINE=${sg{\
-
${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}\
- }\
- {\\N[\\^]\\N}\
- {^^}\
- }
-
- plain:
- driver = plaintext
- public_name = PLAIN
- .ifndef AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS
- client_send = "<; ${if !eq{$tls_out_cipher}{}\
- {^${extract{1}{:}{PASSWDLINE}}\
- ^${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\$2}}\
- }fail}"
- .else
- client_send = "<; ^${extract{1}{:}{PASSWDLINE}}\
- ^${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\$2}}"
- .endif
-
- login:
- driver = plaintext
- public_name = LOGIN
- .ifndef AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS
- client_send = "<; ${if and{\
- {!eq{$tls_out_cipher}{}}\
- {!eq{PASSWDLINE}{}}\
- }\
- {}fail}\
- ; ${extract{1}{::}{PASSWDLINE}}\
- ; ${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\$2}}"
- .else
- client_send = "<; ${if !eq{PASSWDLINE}{}\
- {}fail}\
- ; ${extract{1}{::}{PASSWDLINE}}\
- ; ${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\$2}}"
- .endif
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1805877
Title:
error in update-exim.conf enabling spf
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/exim4/+bug/1805877/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs