expand_level++;
DEBUG(D_expand)
- debug_printf_indent("/%s: %s\n", skipping ? " scanning" : "considering", string);
+ debug_printf_indent(UTF8_DOWN_RIGHT "%s: %s\n",
+ skipping
+ ? UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ "scanning"
+ : "considering",
+ string);
expand_string_forcedfail = FALSE;
expand_string_message = US"";
DEBUG(D_expand)
{
- debug_printf_indent("|__condition: %.*s\n", (int)(next_s - s), s);
- debug_printf_indent("|_____result: %s\n", cond ? "true" : "false");
+ debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+ "condition: %.*s\n",
+ (int)(next_s - s), s);
+ debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+ "result: %s\n",
+ cond ? "true" : "false");
}
s = next_s;
DEBUG(D_expand)
{
- debug_printf_indent("|__expanding: %.*s\n", (int)(s - string), string);
- debug_printf_indent("%s_____result: %s\n", skipping ? "|" : "\\", yield);
- if (skipping) debug_printf_indent("\\___skipping: result is not used\n");
+ debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+ "expanding: %.*s\n",
+ (int)(s - string), string);
+ debug_printf_indent("%s"
+ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+ "result: %s\n",
+ skipping ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
+ yield);
+ if (skipping)
+ debug_printf_indent(UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+ "skipping: result is not used\n");
}
expand_level--;
return yield;
if (left != NULL) *left = s;
DEBUG(D_expand)
{
- debug_printf_indent("|failed to expand: %s\n", string);
- debug_printf_indent("%s___error message: %s\n",
- expand_string_forcedfail ? "|" : "\\", expand_string_message);
- if (expand_string_forcedfail) debug_printf_indent("\\failure was forced\n");
+ debug_printf_indent(UTF8_VERT_RIGHT "failed to expand: %s\n",
+ string);
+ debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+ "error message: %s\n",
+ expand_string_forcedfail ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
+ expand_string_message);
+ if (expand_string_forcedfail)
+ debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n");
}
if (resetok_p) *resetok_p = resetok;
expand_level--;
#define GETC_BUFFER_UNLIMITED UINT_MAX
+/* UTF-8 chars for line-drawing */
+
+#define UTF8_DOWN_RIGHT "\xE2\x94\x8c"
+#define UTF8_HORIZ "\xE2\x94\x80"
+#define UTF8_VERT_RIGHT "\xE2\x94\x9C"
+#define UTF8_UP_RIGHT "\xE2\x94\x94"
+
+
/* End of macros.h */
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
- /considering: primary_hostname: $primary_hostname
- |__expanding: primary_hostname: $primary_hostname
- \_____result: primary_hostname: myhost.test.ex
- /considering: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |__expanding: abcd
- \_____result: abcd
- /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- |__expanding: \N^([ab]+)(\w+)$\N
- \_____result: ^([ab]+)(\w+)$
- |__condition: match{abcd}{\N^([ab]+)(\w+)$\N}
- |_____result: true
- /considering: $2$1}fail}
- |__expanding: $2$1
- \_____result: cdab
- |__expanding: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- \_____result: match: cdab
- /considering: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |__expanding: wxyz
- \_____result: wxyz
- /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
- |__expanding: \N^([ab]+)(\w+)$\N
- \_____result: ^([ab]+)(\w+)$
- |__condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
- |_____result: false
- / scanning: $2$1}fail}
- |__expanding: $2$1
- |_____result:
- \___skipping: result is not used
- |failed to expand: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
- |___error message: "if" failed and "fail" requested
- \failure was forced
- /considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |__expanding: 1
- \_____result: 1
- /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- |__expanding: 1
- \_____result: 1
- |__condition: eq {1}{1}
- |_____result: true
- /considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
- |__expanding: yes
- \_____result: yes
- / scanning: ${lookup{xx}lsearch{/non/exist}}}}
- / scanning: xx}lsearch{/non/exist}}}}
- |__expanding: xx
- |_____result: xx
- \___skipping: result is not used
- / scanning: /non/exist}}}}
- |__expanding: /non/exist
- |_____result: /non/exist
- \___skipping: result is not used
- |__expanding: ${lookup{xx}lsearch{/non/exist}}
- |_____result:
- \___skipping: result is not used
- |__expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
- \_____result: yes
- /considering: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- /considering: a.b.c}{a.b.c}{yes}{no}}
- |__expanding: a.b.c
- \_____result: a.b.c
- /considering: a.b.c}{yes}{no}}
- |__expanding: a.b.c
- \_____result: a.b.c
+ ┌considering: primary_hostname: $primary_hostname
+ ├──expanding: primary_hostname: $primary_hostname
+ └─────result: primary_hostname: myhost.test.ex
+ ┌considering: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ┌considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──expanding: abcd
+ └─────result: abcd
+ ┌considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──expanding: \N^([ab]+)(\w+)$\N
+ └─────result: ^([ab]+)(\w+)$
+ ├──condition: match{abcd}{\N^([ab]+)(\w+)$\N}
+ ├─────result: true
+ ┌considering: $2$1}fail}
+ ├──expanding: $2$1
+ └─────result: cdab
+ ├──expanding: match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ └─────result: match: cdab
+ ┌considering: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ┌considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──expanding: wxyz
+ └─────result: wxyz
+ ┌considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├──expanding: \N^([ab]+)(\w+)$\N
+ └─────result: ^([ab]+)(\w+)$
+ ├──condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
+ ├─────result: false
+ ┌───scanning: $2$1}fail}
+ ├──expanding: $2$1
+ ├─────result:
+ └───skipping: result is not used
+ ├failed to expand: match: ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ ├───error message: "if" failed and "fail" requested
+ └failure was forced
+ ┌considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ┌considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├──expanding: 1
+ └─────result: 1
+ ┌considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├──expanding: 1
+ └─────result: 1
+ ├──condition: eq {1}{1}
+ ├─────result: true
+ ┌considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
+ ├──expanding: yes
+ └─────result: yes
+ ┌───scanning: ${lookup{xx}lsearch{/non/exist}}}}
+ ┌───scanning: xx}lsearch{/non/exist}}}}
+ ├──expanding: xx
+ ├─────result: xx
+ └───skipping: result is not used
+ ┌───scanning: /non/exist}}}}
+ ├──expanding: /non/exist
+ ├─────result: /non/exist
+ └───skipping: result is not used
+ ├──expanding: ${lookup{xx}lsearch{/non/exist}}
+ ├─────result:
+ └───skipping: result is not used
+ ├──expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ └─────result: yes
+ ┌considering: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+ ┌considering: a.b.c}{a.b.c}{yes}{no}}
+ ├──expanding: a.b.c
+ └─────result: a.b.c
+ ┌considering: a.b.c}{yes}{no}}
+ ├──expanding: a.b.c
+ └─────result: a.b.c
LOG: MAIN PANIC
no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
- |__condition: match_address{a.b.c}{a.b.c}
- |_____result: false
- / scanning: yes}{no}}
- |__expanding: yes
- |_____result: yes
- \___skipping: result is not used
- /considering: no}}
- |__expanding: no
- \_____result: no
- |__expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
- \_____result: match_address: no
+ ├──condition: match_address{a.b.c}{a.b.c}
+ ├─────result: false
+ ┌───scanning: yes}{no}}
+ ├──expanding: yes
+ ├─────result: yes
+ └───skipping: result is not used
+ ┌considering: no}}
+ ├──expanding: no
+ └─────result: no
+ ├──expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+ └─────result: match_address: no
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
- /considering: -oMa sender_host_address = $sender_host_address
- |__expanding: -oMa sender_host_address = $sender_host_address
- \_____result: -oMa sender_host_address = V4NET.0.0.1
- /considering: sender_host_port = $sender_host_port
- |__expanding: sender_host_port = $sender_host_port
- \_____result: sender_host_port = 1234
- /considering: -oMaa sender_host_authenticated = $sender_host_authenticated
- |__expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- \_____result: -oMaa sender_host_authenticated = AAA
- /considering: -oMai authenticated_id = $authenticated_id
- |__expanding: -oMai authenticated_id = $authenticated_id
- \_____result: -oMai authenticated_id = philip
- /considering: -oMas authenticated_sender = $authenticated_sender
- |__expanding: -oMas authenticated_sender = $authenticated_sender
- \_____result: -oMas authenticated_sender = xx@yy.zz
- /considering: -oMi interface_address = $interface_address
- |__expanding: -oMi interface_address = $interface_address
- \_____result: -oMi interface_address = 1.1.1.1
- /considering: interface_port = $interface_port
- |__expanding: interface_port = $interface_port
- \_____result: interface_port = 99
- /considering: -oMr received_protocol = $received_protocol
- |__expanding: -oMr received_protocol = $received_protocol
- \_____result: -oMr received_protocol = special
- /considering: -oMt sender_ident = $sender_ident
- |__expanding: -oMt sender_ident = $sender_ident
- \_____result: -oMt sender_ident = me
+ ┌considering: -oMa sender_host_address = $sender_host_address
+ ├──expanding: -oMa sender_host_address = $sender_host_address
+ └─────result: -oMa sender_host_address = V4NET.0.0.1
+ ┌considering: sender_host_port = $sender_host_port
+ ├──expanding: sender_host_port = $sender_host_port
+ └─────result: sender_host_port = 1234
+ ┌considering: -oMaa sender_host_authenticated = $sender_host_authenticated
+ ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
+ └─────result: -oMaa sender_host_authenticated = AAA
+ ┌considering: -oMai authenticated_id = $authenticated_id
+ ├──expanding: -oMai authenticated_id = $authenticated_id
+ └─────result: -oMai authenticated_id = philip
+ ┌considering: -oMas authenticated_sender = $authenticated_sender
+ ├──expanding: -oMas authenticated_sender = $authenticated_sender
+ └─────result: -oMas authenticated_sender = xx@yy.zz
+ ┌considering: -oMi interface_address = $interface_address
+ ├──expanding: -oMi interface_address = $interface_address
+ └─────result: -oMi interface_address = 1.1.1.1
+ ┌considering: interface_port = $interface_port
+ ├──expanding: interface_port = $interface_port
+ └─────result: interface_port = 99
+ ┌considering: -oMr received_protocol = $received_protocol
+ ├──expanding: -oMr received_protocol = $received_protocol
+ └─────result: -oMr received_protocol = special
+ ┌considering: -oMt sender_ident = $sender_ident
+ ├──expanding: -oMt sender_ident = $sender_ident
+ └─────result: -oMt sender_ident = me
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
- /considering: -oMa sender_host_address = $sender_host_address
- |__expanding: -oMa sender_host_address = $sender_host_address
- \_____result: -oMa sender_host_address = V4NET.0.0.1
- /considering: sender_host_port = $sender_host_port
- |__expanding: sender_host_port = $sender_host_port
- \_____result: sender_host_port = 1234
- /considering: -oMaa sender_host_authenticated = $sender_host_authenticated
- |__expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
- \_____result: -oMaa sender_host_authenticated = AAA
- /considering: -oMai authenticated_id = $authenticated_id
- |__expanding: -oMai authenticated_id = $authenticated_id
- \_____result: -oMai authenticated_id = philip
- /considering: -oMas authenticated_sender = $authenticated_sender
- |__expanding: -oMas authenticated_sender = $authenticated_sender
- \_____result: -oMas authenticated_sender = xx@yy.zz
- /considering: -oMi interface_address = $interface_address
- |__expanding: -oMi interface_address = $interface_address
- \_____result: -oMi interface_address = 1.1.1.1
- /considering: interface_port = $interface_port
- |__expanding: interface_port = $interface_port
- \_____result: interface_port = 99
- /considering: -oMr received_protocol = $received_protocol
- |__expanding: -oMr received_protocol = $received_protocol
- \_____result: -oMr received_protocol = special
- /considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- /considering: black}{white}{$sender_host_name}{No}}
- |__expanding: black
- \_____result: black
- /considering: white}{$sender_host_name}{No}}
- |__expanding: white
- \_____result: white
- |__condition: eq{black}{white}
- |_____result: false
- / scanning: $sender_host_name}{No}}
- |__expanding: $sender_host_name
- |_____result:
- \___skipping: result is not used
- /considering: No}}
- |__expanding: No
- \_____result: No
- |__expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
- \_____result: ----> No lookup yet: No
- /considering: -oMs sender_host_name = $sender_host_name
+ ┌considering: -oMa sender_host_address = $sender_host_address
+ ├──expanding: -oMa sender_host_address = $sender_host_address
+ └─────result: -oMa sender_host_address = V4NET.0.0.1
+ ┌considering: sender_host_port = $sender_host_port
+ ├──expanding: sender_host_port = $sender_host_port
+ └─────result: sender_host_port = 1234
+ ┌considering: -oMaa sender_host_authenticated = $sender_host_authenticated
+ ├──expanding: -oMaa sender_host_authenticated = $sender_host_authenticated
+ └─────result: -oMaa sender_host_authenticated = AAA
+ ┌considering: -oMai authenticated_id = $authenticated_id
+ ├──expanding: -oMai authenticated_id = $authenticated_id
+ └─────result: -oMai authenticated_id = philip
+ ┌considering: -oMas authenticated_sender = $authenticated_sender
+ ├──expanding: -oMas authenticated_sender = $authenticated_sender
+ └─────result: -oMas authenticated_sender = xx@yy.zz
+ ┌considering: -oMi interface_address = $interface_address
+ ├──expanding: -oMi interface_address = $interface_address
+ └─────result: -oMi interface_address = 1.1.1.1
+ ┌considering: interface_port = $interface_port
+ ├──expanding: interface_port = $interface_port
+ └─────result: interface_port = 99
+ ┌considering: -oMr received_protocol = $received_protocol
+ ├──expanding: -oMr received_protocol = $received_protocol
+ └─────result: -oMr received_protocol = special
+ ┌considering: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
+ ┌considering: black}{white}{$sender_host_name}{No}}
+ ├──expanding: black
+ └─────result: black
+ ┌considering: white}{$sender_host_name}{No}}
+ ├──expanding: white
+ └─────result: white
+ ├──condition: eq{black}{white}
+ ├─────result: false
+ ┌───scanning: $sender_host_name}{No}}
+ ├──expanding: $sender_host_name
+ ├─────result:
+ └───skipping: result is not used
+ ┌considering: No}}
+ ├──expanding: No
+ └─────result: No
+ ├──expanding: ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
+ └─────result: ----> No lookup yet: No
+ ┌considering: -oMs sender_host_name = $sender_host_name
looking up host name for V4NET.0.0.1
IP address lookup yielded "ten-1.test.ex"
ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx
V4NET.0.0.1 OK
sender_fullhost = ten-1.test.ex [V4NET.0.0.1]
sender_rcvhost = ten-1.test.ex ([V4NET.0.0.1] ident=me)
- |__expanding: -oMs sender_host_name = $sender_host_name
- \_____result: -oMs sender_host_name = ten-1.test.ex
- /considering: -oMt sender_ident = $sender_ident
- |__expanding: -oMt sender_ident = $sender_ident
- \_____result: -oMt sender_ident = me
+ ├──expanding: -oMs sender_host_name = $sender_host_name
+ └─────result: -oMs sender_host_name = ten-1.test.ex
+ ┌considering: -oMt sender_ident = $sender_ident
+ ├──expanding: -oMt sender_ident = $sender_ident
+ └─────result: -oMt sender_ident = me
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
changed uid/gid: forcing real = effective
SMTP connection from [V4NET.0.0.1]
host in host_lookup? no (option unset)
set_process_info: pppp handling incoming connection from [V4NET.0.0.1]
- /considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
- /considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s
- |__expanding: V4NET.0.0.1
- \_____result: V4NET.0.0.1
- /considering: $sender_host_address} {2} {30}}s
- |__expanding: $sender_host_address
- \_____result: V4NET.0.0.1
- |__condition: eq {V4NET.0.0.1} {$sender_host_address}
- |_____result: true
- /considering: 2} {30}}s
- |__expanding: 2
- \_____result: 2
- / scanning: 30}}s
- |__expanding: 30
- |_____result: 30
- \___skipping: result is not used
- |__expanding: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
- \_____result: 2s
+ ┌considering: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ┌considering: V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ ├──expanding: V4NET.0.0.1
+ └─────result: V4NET.0.0.1
+ ┌considering: $sender_host_address} {2} {30}}s
+ ├──expanding: $sender_host_address
+ └─────result: V4NET.0.0.1
+ ├──condition: eq {V4NET.0.0.1} {$sender_host_address}
+ ├─────result: true
+ ┌considering: 2} {30}}s
+ ├──expanding: 2
+ └─────result: 2
+ ┌───scanning: 30}}s
+ ├──expanding: 30
+ ├─────result: 30
+ └───skipping: result is not used
+ ├──expanding: ${if eq {V4NET.0.0.1} {$sender_host_address} {2} {30}}s
+ └─────result: 2s
host in host_reject_connection? no (option unset)
host in sender_unqualified_hosts? no (option unset)
host in recipient_unqualified_hosts? no (option unset)
host in helo_verify_hosts? no (option unset)
host in helo_try_verify_hosts? no (option unset)
host in helo_accept_junk_hosts? no (option unset)
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
smtp_setup_msg entered
SMTP<< mail from:userx@test.ex
Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
Data file written for message 10HmaX-0005vi-00
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: false
- / scanning: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: false
+ ┌───scanning: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- |_____result: (helo=)
+ ├─────result: (helo=)
- \___skipping: result is not used
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ └─────result: from CALLER
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@test.ex>)
+ └─────result: (envelope-from <CALLER@test.ex>)
- |__condition: def:received_for
- |_____result: false
- / scanning:
+ ├──condition: def:received_for
+ ├─────result: false
+ ┌───scanning:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- |_____result:
+ ├─────result:
for
- \___skipping: result is not used
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ └───skipping: result is not used
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
+ └─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
(envelope-from <CALLER@test.ex>)
id 10HmaX-0005vi-00
>>Generated Received: header line
id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
calling local_scan(); timeout=300
local_scan() returned 0 NULL
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
Writing spool header file: TESTSUITE/spool//input//hdr.pppp
DSN: Write SPOOL :-dsn_envid NULL
DSN: Write SPOOL :-dsn_ret 0
stripped prefix rd+
checking local_parts
usery in "usery"? yes (matched "usery")
- /considering: /non-exist/$domain
- |__expanding: /non-exist/$domain
- \_____result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
+ ├──expanding: /non-exist/$domain
+ └─────result: /non-exist/test.ex
calling r5 router
rda_interpret (string): TESTSUITE/test-mail/junk
expanded: TESTSUITE/test-mail/junk
stripped prefix rd+
checking local_parts
CALLER in "CALLER"? yes (matched "CALLER")
- /considering: /non-exist/$local_part
- |__expanding: /non-exist/$local_part
- \_____result: /non-exist/CALLER
+ ┌considering: /non-exist/$local_part
+ ├──expanding: /non-exist/$local_part
+ └─────result: /non-exist/CALLER
calling r4 router
rda_interpret (string): TESTSUITE/test-mail/junk
expanded: TESTSUITE/test-mail/junk
local_part=userz domain=test.ex
checking local_parts
userz in "userz"? yes (matched "userz")
- /considering: /non-exist/$domain
- |__expanding: /non-exist/$domain
- \_____result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
+ ├──expanding: /non-exist/$domain
+ └─────result: /non-exist/test.ex
calling r3 router
r3 router called for userz@test.ex
domain = test.ex
local_part=usery domain=test.ex
checking local_parts
usery in "usery"? yes (matched "usery")
- /considering: /non-exist/$domain
- |__expanding: /non-exist/$domain
- \_____result: /non-exist/test.ex
+ ┌considering: /non-exist/$domain
+ ├──expanding: /non-exist/$domain
+ └─────result: /non-exist/test.ex
calling r2 router
r2 router called for usery@test.ex
domain = test.ex
local_part=CALLER domain=test.ex
checking local_parts
CALLER in "CALLER"? yes (matched "CALLER")
- /considering: /non-exist/$local_part
- |__expanding: /non-exist/$local_part
- \_____result: /non-exist/CALLER
+ ┌considering: /non-exist/$local_part
+ ├──expanding: /non-exist/$local_part
+ └─────result: /non-exist/CALLER
calling r1 router
r1 router called for CALLER@test.ex
domain = test.ex
EXIM_DBOPEN(TESTSUITE/spool/db/retry)
returned from EXIM_DBOPEN
no retry data available
- /considering: /non-exist/$local_part
- |__expanding: /non-exist/$local_part
- \_____result: /non-exist/usery
+ ┌considering: /non-exist/$local_part
+ ├──expanding: /non-exist/$local_part
+ └─────result: /non-exist/usery
search_tidyup called
changed uid/gid: local delivery to TESTSUITE/test-mail/junk <TESTSUITE/test-mail/junk> transport=ft1
uid=CALLER_UID gid=CALLER_GID pid=pppp
home=/non-exist/usery current=/
set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
appendfile transport entered
- /considering: $address_file
- |__expanding: $address_file
- \_____result: TESTSUITE/test-mail/junk
+ ┌considering: $address_file
+ ├──expanding: $address_file
+ └─────result: TESTSUITE/test-mail/junk
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/junk format=unix
message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
lock file created
mailbox TESTSUITE/test-mail/junk is locked
writing to file TESTSUITE/test-mail/junk
- /considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- |__condition: def:return_path
- |_____result: true
- /considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──condition: def:return_path
+ ├─────result: true
+ ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- |__expanding: $return_path
- \_____result: CALLER@test.ex
- / scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──expanding: $return_path
+ └─────result: CALLER@test.ex
+ ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
- |__expanding: MAILER-DAEMON
- |_____result: MAILER-DAEMON
- \___skipping: result is not used
- |__expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──expanding: MAILER-DAEMON
+ ├─────result: MAILER-DAEMON
+ └───skipping: result is not used
+ ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- \_____result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ └─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
writing data block fd=dddd size=sss timeout=0
writing data block fd=dddd size=sss timeout=0
home=/non-exist/CALLER current=/
set_process_info: pppp delivering 10HmaX-0005vi-00 to TESTSUITE/test-mail/junk using ft1
appendfile transport entered
- /considering: $address_file
- |__expanding: $address_file
- \_____result: TESTSUITE/test-mail/junk
+ ┌considering: $address_file
+ ├──expanding: $address_file
+ └─────result: TESTSUITE/test-mail/junk
appendfile: mode=600 notify_comsat=0 quota=0 warning=0
file=TESTSUITE/test-mail/junk format=unix
message_prefix=From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
lock file created
mailbox TESTSUITE/test-mail/junk is locked
writing to file TESTSUITE/test-mail/junk
- /considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ┌considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- |__condition: def:return_path
- |_____result: true
- /considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──condition: def:return_path
+ ├─────result: true
+ ┌considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- |__expanding: $return_path
- \_____result: CALLER@test.ex
- / scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──expanding: $return_path
+ └─────result: CALLER@test.ex
+ ┌───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
- |__expanding: MAILER-DAEMON
- |_____result: MAILER-DAEMON
- \___skipping: result is not used
- |__expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├──expanding: MAILER-DAEMON
+ ├─────result: MAILER-DAEMON
+ └───skipping: result is not used
+ ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
- \_____result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ └─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
writing data block fd=dddd size=sss timeout=0
writing data block fd=dddd size=sss timeout=0
EXIM_DBOPEN(TESTSUITE/spool/db/retry)
returned from EXIM_DBOPEN
no retry data available
- /considering: /non-exist/$local_part
- |__expanding: /non-exist/$local_part
- \_____result: /non-exist/usery
+ ┌considering: /non-exist/$local_part
+ ├──expanding: /non-exist/$local_part
+ └─────result: /non-exist/usery
search_tidyup called
changed uid/gid: local delivery to usery <usery@test.ex> transport=t1
uid=CALLER_UID gid=CALLER_GID pid=pppp
EXIM_DBOPEN(TESTSUITE/spool/db/retry)
returned from EXIM_DBOPEN
no retry data available
- /considering: /$local_part
- |__expanding: /$local_part
- \_____result: /userz
+ ┌considering: /$local_part
+ ├──expanding: /$local_part
+ └─────result: /userz
search_tidyup called
changed uid/gid: local delivery to userz <userz@test.ex> transport=t2
uid=CALLER_UID gid=CALLER_GID pid=pppp
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: false
- / scanning: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: false
+ ┌───scanning: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- |_____result: (helo=)
+ ├─────result: (helo=)
- \___skipping: result is not used
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ └─────result: from CALLER
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@test.ex>)
+ └─────result: (envelope-from <CALLER@test.ex>)
- |__condition: def:received_for
- |_____result: false
- / scanning:
+ ├──condition: def:received_for
+ ├─────result: false
+ ┌───scanning:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- |_____result:
+ ├─────result:
for
- \___skipping: result is not used
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ └───skipping: result is not used
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER by the.local.host.name with local (Exim x.yz)
+ └─────result: Received: from CALLER by the.local.host.name with local (Exim x.yz)
(envelope-from <CALLER@test.ex>)
id 10HmaX-0005vi-00
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
LOG: MAIN
<= CALLER@test.ex U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
configuration file is TESTSUITE/test-config
trusted user
admin user
- /considering: $domain
- |__expanding: $domain
- \_____result: domain1.ex
+ ┌considering: $domain
+ ├──expanding: $domain
+ └─────result: domain1.ex
LOG: MAIN
== userx@domain1.ex R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
LOG: MAIN
== userx@domain2.ex R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
- /considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- /considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding: $h_list-id:$h_list-post:$h_list-subscribe:
- \_____result:
- /considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding:
- \_____result:
- /considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding: $h_precedence:
- \_____result:
- /considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding: (?i)bulk|list|junk
- \_____result: (?i)bulk|list|junk
- /considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding: $h_auto-submitted:
- \_____result:
- /considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
- |__expanding: (?i)auto-generated|auto-replied
- \_____result: (?i)auto-generated|auto-replied
- |__condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }}
- |_____result: false
- / scanning: no}{yes}}
- |__expanding: no
- |_____result: no
- \___skipping: result is not used
- /considering: yes}}
- |__expanding: yes
- \_____result: yes
- |__expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- \_____result: yes
+ ┌considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ┌considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding: $h_list-id:$h_list-post:$h_list-subscribe:
+ └─────result:
+ ┌considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding:
+ └─────result:
+ ┌considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding: $h_precedence:
+ └─────result:
+ ┌considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding: (?i)bulk|list|junk
+ └─────result: (?i)bulk|list|junk
+ ┌considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding: $h_auto-submitted:
+ └─────result:
+ ┌considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
+ ├──expanding: (?i)auto-generated|auto-replied
+ └─────result: (?i)auto-generated|auto-replied
+ ├──condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }}
+ ├─────result: false
+ ┌───scanning: no}{yes}}
+ ├──expanding: no
+ ├─────result: no
+ └───skipping: result is not used
+ ┌considering: yes}}
+ ├──expanding: yes
+ └─────result: yes
+ ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ └─────result: yes
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
admin user
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
- /considering: ${if match_domain {$sender_helo_name}{+dlist}}
- /considering: $sender_helo_name}{+dlist}}
- |__expanding: $sender_helo_name
- \_____result: ehlo.domain
- /considering: +dlist}}
- |__expanding: +dlist
- \_____result: +dlist
- /considering: $domain
- |__expanding: $domain
- \_____result: ehlo.domain
- |__condition: match_domain {$sender_helo_name}{+dlist}
- |_____result: true
- |__expanding: ${if match_domain {$sender_helo_name}{+dlist}}
- \_____result: true
- /considering: domain=$domain/sender_domain=$sender_address_domain
- |__expanding: domain=$domain/sender_domain=$sender_address_domain
- \_____result: domain=/sender_domain=sender.domain
- /considering: domain=$domain/sender_domain=$sender_address_domain
- |__expanding: domain=$domain/sender_domain=$sender_address_domain
- \_____result: domain=recipient.domain/sender_domain=sender.domain
- /considering: domain=$domain/sender_domain=$sender_address_domain
- |__expanding: domain=$domain/sender_domain=$sender_address_domain
- \_____result: domain=recipient.domain/sender_domain=sender.domain
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${if match_domain {$sender_helo_name}{+dlist}}
+ ┌considering: $sender_helo_name}{+dlist}}
+ ├──expanding: $sender_helo_name
+ └─────result: ehlo.domain
+ ┌considering: +dlist}}
+ ├──expanding: +dlist
+ └─────result: +dlist
+ ┌considering: $domain
+ ├──expanding: $domain
+ └─────result: ehlo.domain
+ ├──condition: match_domain {$sender_helo_name}{+dlist}
+ ├─────result: true
+ ├──expanding: ${if match_domain {$sender_helo_name}{+dlist}}
+ └─────result: true
+ ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ └─────result: domain=/sender_domain=sender.domain
+ ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ └─────result: domain=recipient.domain/sender_domain=sender.domain
+ ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ├──expanding: domain=$domain/sender_domain=$sender_address_domain
+ └─────result: domain=recipient.domain/sender_domain=sender.domain
LOG: smtp_connection MAIN
SMTP connection from CALLER closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
- /considering: ${perl{foo}{arg1}}
- /considering: foo}{arg1}}
- |__expanding: foo
- \_____result: foo
- /considering: arg1}}
- |__expanding: arg1
- \_____result: arg1
+ ┌considering: ${perl{foo}{arg1}}
+ ┌considering: foo}{arg1}}
+ ├──expanding: foo
+ └─────result: foo
+ ┌considering: arg1}}
+ ├──expanding: arg1
+ └─────result: arg1
Starting Perl interpreter
- |__expanding: ${perl{foo}{arg1}}
- \_____result: Subroutine foo called with args: arg1
- /considering: ${perl{foo_undef}}
- /considering: foo_undef}}
- |__expanding: foo_undef
- \_____result: foo_undef
- |failed to expand: ${perl{foo_undef}}
- |___error message: Perl subroutine "foo_undef" returned undef to force failure
- \failure was forced
- /considering: ${perl{debug_write}{debug from Perl\n}}
- /considering: debug_write}{debug from Perl\n}}
- |__expanding: debug_write
- \_____result: debug_write
- /considering: debug from Perl\n}}
- |__expanding: debug from Perl\n
- \_____result: debug from Perl
+ ├──expanding: ${perl{foo}{arg1}}
+ └─────result: Subroutine foo called with args: arg1
+ ┌considering: ${perl{foo_undef}}
+ ┌considering: foo_undef}}
+ ├──expanding: foo_undef
+ └─────result: foo_undef
+ ├failed to expand: ${perl{foo_undef}}
+ ├───error message: Perl subroutine "foo_undef" returned undef to force failure
+ └failure was forced
+ ┌considering: ${perl{debug_write}{debug from Perl\n}}
+ ┌considering: debug_write}{debug from Perl\n}}
+ ├──expanding: debug_write
+ └─────result: debug_write
+ ┌considering: debug from Perl\n}}
+ ├──expanding: debug from Perl\n
+ └─────result: debug from Perl
debug from Perl
- |__expanding: ${perl{debug_write}{debug from Perl\n}}
- \_____result: Wrote debug
- /considering: ${perl{log_write}{log from Perl}}
- /considering: log_write}{log from Perl}}
- |__expanding: log_write
- \_____result: log_write
- /considering: log from Perl}}
- |__expanding: log from Perl
- \_____result: log from Perl
+ ├──expanding: ${perl{debug_write}{debug from Perl\n}}
+ └─────result: Wrote debug
+ ┌considering: ${perl{log_write}{log from Perl}}
+ ┌considering: log_write}{log from Perl}}
+ ├──expanding: log_write
+ └─────result: log_write
+ ┌considering: log from Perl}}
+ ├──expanding: log from Perl
+ └─────result: log from Perl
LOG: MAIN
log from Perl
- |__expanding: ${perl{log_write}{log from Perl}}
- \_____result: Wrote log
+ ├──expanding: ${perl{log_write}{log from Perl}}
+ └─────result: Wrote log
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
LOG: smtp_connection MAIN
SMTP connection from CALLER
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: userx
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: userx
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: userx
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: userx
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: userx
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: false
- / scanning: *}{:}}
- |__expanding: *
- |_____result: *
- \___skipping: result is not used
- /considering: :}}
- |__expanding: :
- \_____result: :
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: :
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: userx
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: false
+ ┌───scanning: *}{:}}
+ ├──expanding: *
+ ├─────result: *
+ └───skipping: result is not used
+ ┌considering: :}}
+ ├──expanding: :
+ └─────result: :
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: :
127.0.0.1 in hosts_avoid_tls? no (end of list)
- /considering: ${if eq {$address_data}{userz}{*}{:}}
- /considering: $address_data}{userz}{*}{:}}
- |__expanding: $address_data
- \_____result: userx
- /considering: userz}{*}{:}}
- |__expanding: userz
- \_____result: userz
- |__condition: eq {$address_data}{userz}
- |_____result: false
- / scanning: *}{:}}
- |__expanding: *
- |_____result: *
- \___skipping: result is not used
- /considering: :}}
- |__expanding: :
- \_____result: :
- |__expanding: ${if eq {$address_data}{userz}{*}{:}}
- \_____result: :
+ ┌considering: ${if eq {$address_data}{userz}{*}{:}}
+ ┌considering: $address_data}{userz}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: userx
+ ┌considering: userz}{*}{:}}
+ ├──expanding: userz
+ └─────result: userz
+ ├──condition: eq {$address_data}{userz}
+ ├─────result: false
+ ┌───scanning: *}{:}}
+ ├──expanding: *
+ ├─────result: *
+ └───skipping: result is not used
+ ┌considering: :}}
+ ├──expanding: :
+ └─────result: :
+ ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
+ └─────result: :
127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
SMTP>> STARTTLS
cmd buf flush ddd bytes
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for userx@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmaX-0005vi-00
for userx@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmaY-0005vi-00
LOG: MAIN
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: usery
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: true
- /considering: *}{:}}
- |__expanding: *
- \_____result: *
- / scanning: :}}
- |__expanding: :
- |_____result: :
- \___skipping: result is not used
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: *
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: usery
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+ ┌considering: *}{:}}
+ ├──expanding: *
+ └─────result: *
+ ┌───scanning: :}}
+ ├──expanding: :
+ ├─────result: :
+ └───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: *
127.0.0.1 in hosts_avoid_tls? yes (matched "*")
127.0.0.1 in hosts_avoid_pipelining? no (option unset)
using PIPELINING
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for usery@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmaZ-0005vi-00
for usery@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbA-0005vi-00
LOG: MAIN
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: usery
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: true
- /considering: *}{:}}
- |__expanding: *
- \_____result: *
- / scanning: :}}
- |__expanding: :
- |_____result: :
- \___skipping: result is not used
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: *
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: usery
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+ ┌considering: *}{:}}
+ ├──expanding: *
+ └─────result: *
+ ┌───scanning: :}}
+ ├──expanding: :
+ ├─────result: :
+ └───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: *
127.0.0.1 in hosts_avoid_tls? yes (matched "*")
127.0.0.1 in hosts_avoid_pipelining? no (option unset)
using PIPELINING
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for usery@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmbB-0005vi-00
for usery@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbC-0005vi-00
LOG: MAIN
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: userx
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: userx
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: userx
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: userx
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: userx
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: false
- / scanning: *}{:}}
- |__expanding: *
- |_____result: *
- \___skipping: result is not used
- /considering: :}}
- |__expanding: :
- \_____result: :
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: :
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: userx
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: false
+ ┌───scanning: *}{:}}
+ ├──expanding: *
+ ├─────result: *
+ └───skipping: result is not used
+ ┌considering: :}}
+ ├──expanding: :
+ └─────result: :
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: :
127.0.0.1 in hosts_avoid_tls? no (end of list)
- /considering: ${if eq {$address_data}{userz}{*}{:}}
- /considering: $address_data}{userz}{*}{:}}
- |__expanding: $address_data
- \_____result: userx
- /considering: userz}{*}{:}}
- |__expanding: userz
- \_____result: userz
- |__condition: eq {$address_data}{userz}
- |_____result: false
- / scanning: *}{:}}
- |__expanding: *
- |_____result: *
- \___skipping: result is not used
- /considering: :}}
- |__expanding: :
- \_____result: :
- |__expanding: ${if eq {$address_data}{userz}{*}{:}}
- \_____result: :
+ ┌considering: ${if eq {$address_data}{userz}{*}{:}}
+ ┌considering: $address_data}{userz}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: userx
+ ┌considering: userz}{*}{:}}
+ ├──expanding: userz
+ └─────result: userz
+ ├──condition: eq {$address_data}{userz}
+ ├─────result: false
+ ┌───scanning: *}{:}}
+ ├──expanding: *
+ ├─────result: *
+ └───skipping: result is not used
+ ┌considering: :}}
+ ├──expanding: :
+ └─────result: :
+ ├──expanding: ${if eq {$address_data}{userz}{*}{:}}
+ └─────result: :
127.0.0.1 in hosts_verify_avoid_tls? no (end of list)
SMTP>> STARTTLS
cmd buf flush ddd bytes
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for userx@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmaX-0005vi-00
for userx@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmaY-0005vi-00
LOG: MAIN
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: usery
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: true
- /considering: *}{:}}
- |__expanding: *
- \_____result: *
- / scanning: :}}
- |__expanding: :
- |_____result: :
- \___skipping: result is not used
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: *
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: usery
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+ ┌considering: *}{:}}
+ ├──expanding: *
+ └─────result: *
+ ┌───scanning: :}}
+ ├──expanding: :
+ ├─────result: :
+ └───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: *
127.0.0.1 in hosts_avoid_tls? yes (matched "*")
127.0.0.1 in hosts_avoid_pipelining? no (option unset)
using PIPELINING
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for usery@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmaZ-0005vi-00
for usery@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbA-0005vi-00
LOG: MAIN
in hosts_connection_nolog? no (option unset)
LOG: smtp_connection MAIN
SMTP connection from CALLER
- /considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- |__expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- \_____result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ └─────result: myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
in dsn_advertise_hosts? no (option unset)
in pipelining_advertise_hosts? yes (matched "*")
in chunking_advertise_hosts? no (end of list)
in tls_advertise_hosts? yes (matched "*")
- /considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
- /considering: SERVER}{server}{queue}{cutthrough}}
- |__expanding: SERVER
- \_____result: SERVER
- /considering: server}{queue}{cutthrough}}
- |__expanding: server
- \_____result: server
- |__condition: eq {SERVER}{server}
- |_____result: false
- / scanning: queue}{cutthrough}}
- |__expanding: queue
- |_____result: queue
- \___skipping: result is not used
- /considering: cutthrough}}
- |__expanding: cutthrough
- \_____result: cutthrough
- |__expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
- \_____result: cutthrough
+ ┌considering: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ ┌considering: SERVER}{server}{queue}{cutthrough}}
+ ├──expanding: SERVER
+ └─────result: SERVER
+ ┌considering: server}{queue}{cutthrough}}
+ ├──expanding: server
+ └─────result: server
+ ├──condition: eq {SERVER}{server}
+ ├─────result: false
+ ┌───scanning: queue}{cutthrough}}
+ ├──expanding: queue
+ ├─────result: queue
+ └───skipping: result is not used
+ ┌considering: cutthrough}}
+ ├──expanding: cutthrough
+ └─────result: cutthrough
+ ├──expanding: ${if eq {SERVER}{server}{queue}{cutthrough}}
+ └─────result: cutthrough
using ACL "cutthrough"
processing "accept"
check control = cutthrough_delivery
check verify = recipient
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
----------- end verify ------------
accept: condition test succeeded in ACL "cutthrough"
----------- start cutthrough setup ------------
domain.com in "test.ex : *.test.ex"? no (end of list)
domain.com in "! +local_domains"? yes (end of list)
- /considering: $local_part
- |__expanding: $local_part
- \_____result: usery
+ ┌considering: $local_part
+ ├──expanding: $local_part
+ └─────result: usery
domain.com in "*"? yes (matched "*")
Connecting to 127.0.0.1 [127.0.0.1]:1225 from ip4.ip4.ip4.ip4 ... connected
- /considering: $primary_hostname
- |__expanding: $primary_hostname
- \_____result: myhost.test.ex
+ ┌considering: $primary_hostname
+ ├──expanding: $primary_hostname
+ └─────result: myhost.test.ex
SMTP<< 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
127.0.0.1 in hosts_avoid_esmtp? no (option unset)
SMTP>> EHLO myhost.test.ex
250-PIPELINING
250-STARTTLS
250 HELP
- /considering: ${if eq {$address_data}{usery}{*}{:}}
- /considering: $address_data}{usery}{*}{:}}
- |__expanding: $address_data
- \_____result: usery
- /considering: usery}{*}{:}}
- |__expanding: usery
- \_____result: usery
- |__condition: eq {$address_data}{usery}
- |_____result: true
- /considering: *}{:}}
- |__expanding: *
- \_____result: *
- / scanning: :}}
- |__expanding: :
- |_____result: :
- \___skipping: result is not used
- |__expanding: ${if eq {$address_data}{usery}{*}{:}}
- \_____result: *
+ ┌considering: ${if eq {$address_data}{usery}{*}{:}}
+ ┌considering: $address_data}{usery}{*}{:}}
+ ├──expanding: $address_data
+ └─────result: usery
+ ┌considering: usery}{*}{:}}
+ ├──expanding: usery
+ └─────result: usery
+ ├──condition: eq {$address_data}{usery}
+ ├─────result: true
+ ┌considering: *}{:}}
+ ├──expanding: *
+ └─────result: *
+ ┌───scanning: :}}
+ ├──expanding: :
+ ├─────result: :
+ └───skipping: result is not used
+ ├──expanding: ${if eq {$address_data}{usery}{*}{:}}
+ └─────result: *
127.0.0.1 in hosts_avoid_tls? yes (matched "*")
127.0.0.1 in hosts_avoid_pipelining? no (option unset)
using PIPELINING
end of inline ACL: ACCEPT
SMTP>> DATA
SMTP<< 354 Enter message, ending with "." on a line by itself
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
- /considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_rcvhost
- |_____result: false
- / scanning: from $sender_rcvhost
+ ├──condition: def:sender_rcvhost
+ ├─────result: false
+ ┌───scanning: from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: from $sender_rcvhost
+ ├──expanding: from $sender_rcvhost
- |_____result: from
+ ├─────result: from
- \___skipping: result is not used
- /considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ └───skipping: result is not used
+ ┌considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__condition: def:sender_ident
- |_____result: true
- /considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──condition: def:sender_ident
+ ├─────result: true
+ ┌considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- ./considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ .┌considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- .|__expanding: $sender_ident
- .\_____result: CALLER
- |__expanding: from ${quote_local_part:$sender_ident}
- \_____result: from CALLER
- |__condition: def:sender_helo_name
- |_____result: true
- /considering: (helo=$sender_helo_name)
+ .├──expanding: $sender_ident
+ .└─────result: CALLER
+ ├──expanding: from ${quote_local_part:$sender_ident}
+ └─────result: from CALLER
+ ├──condition: def:sender_helo_name
+ ├─────result: true
+ ┌considering: (helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (helo=$sender_helo_name)
+ ├──expanding: (helo=$sender_helo_name)
- \_____result: (helo=myhost.test.ex)
+ └─────result: (helo=myhost.test.ex)
- |__expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
+ ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}
- \_____result: from CALLER (helo=myhost.test.ex)
+ └─────result: from CALLER (helo=myhost.test.ex)
- |__condition: def:received_protocol
- |_____result: true
- /considering: with $received_protocol}} (Exim $version_number)
+ ├──condition: def:received_protocol
+ ├─────result: true
+ ┌considering: with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: with $received_protocol
- \_____result: with local-esmtp
- |__condition: def:tls_cipher
- |_____result: false
- / scanning: ($tls_cipher)
+ ├──expanding: with $received_protocol
+ └─────result: with local-esmtp
+ ├──condition: def:tls_cipher
+ ├─────result: false
+ ┌───scanning: ($tls_cipher)
}}(Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: ($tls_cipher)
+ ├──expanding: ($tls_cipher)
- |_____result: ()
+ ├─────result: ()
- \___skipping: result is not used
- |__condition: def:sender_address
- |_____result: true
- /considering: (envelope-from <$sender_address>)
+ └───skipping: result is not used
+ ├──condition: def:sender_address
+ ├─────result: true
+ ┌considering: (envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- |__expanding: (envelope-from <$sender_address>)
+ ├──expanding: (envelope-from <$sender_address>)
- \_____result: (envelope-from <CALLER@myhost.test.ex>)
+ └─────result: (envelope-from <CALLER@myhost.test.ex>)
- |__condition: def:received_for
- |_____result: true
- /considering:
+ ├──condition: def:received_for
+ ├─────result: true
+ ┌considering:
for $received_for}}
- |__expanding:
+ ├──expanding:
for $received_for
- \_____result:
+ └─────result:
for usery@domain.com
- |__expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
+ ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)
${if def:sender_address {(envelope-from <$sender_address>)
}}id $message_exim_id${if def:received_for {
for $received_for}}
- \_____result: Received: from CALLER (helo=myhost.test.ex)
+ └─────result: Received: from CALLER (helo=myhost.test.ex)
by myhost.test.ex with local-esmtp (Exim x.yz)
(envelope-from <CALLER@myhost.test.ex>)
id 10HmbB-0005vi-00
for usery@domain.com
----------- start cutthrough headers send -----------
----------- done cutthrough headers send ------------
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
SMTP>> .
SMTP<< 250 OK id=10HmbC-0005vi-00
LOG: MAIN
end of ACL "chk_data": ACCEPT
calling local_scan(); timeout=300
local_scan() returned 0 NULL
- /considering: ${tod_full}
- |__expanding: ${tod_full}
- \_____result: Tue, 2 Mar 1999 09:44:33 +0000
+ ┌considering: ${tod_full}
+ ├──expanding: ${tod_full}
+ └─────result: Tue, 2 Mar 1999 09:44:33 +0000
Writing spool header file: TESTSUITE/spool//input//hdr.pppp
DSN: Write SPOOL :-dsn_envid NULL
DSN: Write SPOOL :-dsn_ret 0