SERVER=
OPT=
+FAKE =
.include DIR/aux-var/std_conf_prefix
# ----- Main settings -----
-acl_smtp_rcpt = accept
-acl_smtp_dkim = accept logwrite = signer: $dkim_cur_signer bits: $dkim_key_length h=$dkim_headernames
-acl_smtp_data_prdr = accept local_parts = okuser
+acl_smtp_rcpt = accept logwrite = rcpt_acl: macro: _DKIM_SIGN_HEADERS
+acl_smtp_dkim = check_dkim_sig
+acl_smtp_data = accept logwrite = data_acl: dkim status $dkim_verify_status
-prdr_enable
+dkim_verify_signers = $dkim_signers
+dkim_verify_min_keysizes = rsa=512 ed25519=250
+.ifdef FILTER
+dkim_verify_minimal = true
+.endif
-# ----- Routers
+DDIR=DIR/aux-fixed/dkim
-begin routers
+log_selector = -dkim +dkim_verbose +received_recipients
-client:
- driver = accept
- condition = ${if eq {SERVER}{server}{no}{yes}}
- transport = send_to_server
+# ----- ACL
+begin acl
+
+check_dkim_sig:
+ warn logwrite = dkim_acl: signer: $dkim_cur_signer bits: $dkim_key_length \
+ h=$dkim_headernames status: $dkim_verify_status
+ accept
+
+# ----- Routers
-server_dump:
- driver = redirect
- senders = ! :
- data = :blackhole:
+begin routers
server_store:
- driver = accept
- transport = store
+ driver = accept
+ condition = ${if eq {SERVER}{server}{yes}{no}}
+ transport = file
+
+client:
+ driver = accept
+ transport = send_to_server
# ----- Transports
begin transports
-store:
- driver = appendfile
- file = DIR/test-mail/store
- return_path_add
- user = CALLER
-
send_to_server:
driver = smtp
allow_localhost
hosts = HOSTIPV4
port = PORT_D
+ hosts_try_fastopen = :
- dkim_domain = ${if def:sender_address_local_part {test.ex}}
+ dkim_domain = test.ex
+.ifdef SELECTOR
+ dkim_selector = SELECTOR
+.else
dkim_selector = sel
- dkim_private_key = DIR/aux-fixed/dkim/dkim.private
- dkim_sign_headers = From
+.endif
+
+ dkim_private_key = ${extract {${length_3:$dkim_selector}} {\
+ ses=dkim512.private \
+ sel=dkim.private \
+ sed=dkim_ed25519.private \
+ }{DDIR/$value}}
+
+.ifndef HEADERS_MAXSIZE
+ dkim_sign_headers = OPT
+.else
+ dkim_identity = allheaders@$dkim_domain
+.endif
+.ifdef VALUE
+ dkim_hash = VALUE
+.endif
+.ifdef STRICT
+ dkim_strict = STRICT
+.endif
+.ifdef TIMES
+ dkim_timestamps = TIMES
+.endif
+
+file:
+ driver = appendfile
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
+ user = CALLER
# End