# Exim test configuration 5892 SERVER = OPTION = .include DIR/aux-var/tls_conf_prefix primary_hostname = myhost.test.ex # ----- Main settings ----- domainlist local_domains = test.ex : *.test.ex acl_smtp_helo = check_helo acl_smtp_rcpt = check_recipient log_selector = +received_recipients +tls_resumption +tls_peerdn +outgoing_port .ifdef _OPT_OPENSSL_NO_TLSV1_3_X openssl_options = +no_sslv2 +no_sslv3 +single_dh_use OPTION .else openssl_options = +no_sslv2 +no_sslv3 +single_dh_use .endif tls_advertise_hosts = * tls_on_connect_ports = PORT_D2 # Set certificate only if server CDIR=DIR/aux-fixed/exim-ca/example.com tls_certificate = CDIR/server1.example.com/server1.example.com.chain.pem tls_privatekey = CDIR/server1.example.com/server1.example.com.unlocked.key tls_resumption_hosts = 127.0.0.1 remote_max_parallel = 1 # ------ ACL ------ begin acl check_helo: accept condition = ${if def:tls_in_cipher} logwrite = tls_in_ver\t$tls_in_ver logwrite = tls_in_resumption\t${listextract {$tls_in_resumption} {_RESUME_DECODE}} logwrite = our cert subject\t${certextract {subject}{$tls_in_ourcert}} logwrite = peer cert subject\t${certextract {subject}{$tls_in_peercert}} logwrite = peer cert verified\t${tls_in_certificate_verified} logwrite = peer dn\t${tls_in_peerdn} logwrite = cipher\t${tls_in_cipher} logwrite = bits\t${tls_in_bits} accept check_recipient: accept domains = +local_domains deny message = relay not permitted log_resumption: accept condition = ${if def:tls_out_cipher} condition = ${if eq {$event_name}{tcp:close}} logwrite = tls_out_ver\t$tls_out_ver logwrite = tls_out_resumption ${listextract {$tls_out_resumption} {_RESUME_DECODE}} logwrite = our cert subject\t${certextract {subject}{$tls_out_ourcert}} logwrite = peer cert subject\t${certextract {subject}{$tls_out_peercert}} logwrite = peer cert verified\t${tls_out_certificate_verified} logwrite = peer dn\t${tls_out_peerdn} logwrite = cipher\t${tls_out_cipher} logwrite = bits\t${tls_out_bits} # ----- Routers ----- begin routers client: driver = accept condition = ${if eq {SERVER}{server}{no}{yes}} transport = send_to_server${if eq{$local_part}{hostnotresume}{2}{1}} server: driver = redirect data = :blackhole: # ----- Transports ----- begin transports send_to_server1: driver = smtp allow_localhost hosts = 127.0.0.1 .ifdef SELECTOR port = PORT_D2 protocol = smtps # Use HELO purely to get a P= different on the server <= line hosts_avoid_esmtp = * .else port = PORT_D .endif helo_data = helo.data.changed .ifdef HELO_MSG host_name_extract = HELO_MSG .endif .ifdef VALUE tls_resumption_hosts = * .else tls_resumption_hosts = : .endif tls_verify_certificates = CDIR/CA/CA.pem tls_verify_cert_hostnames = ${if match {$local_part}{^noverify} {*}{:}} tls_try_verify_hosts = * .ifdef _HAVE_EVENT event_action = ${acl {log_resumption}} .endif send_to_server2: driver = smtp allow_localhost hosts = HOSTIPV4 port = PORT_D hosts_try_fastopen = : tls_verify_certificates = CDIR/CA/CA.pem tls_verify_cert_hostnames = : .ifdef _HAVE_EVENT event_action = ${acl {log_resumption}} .endif # ----- Retry ----- begin retry * * F,5d,10s # End