For an MX lookup, both the preference value and the host name are returned for
each record, separated by a space. For an SRV lookup, the priority, weight,
port, and host name are returned for each record, separated by spaces.
For an MX lookup, both the preference value and the host name are returned for
each record, separated by a space. For an SRV lookup, the priority, weight,
port, and host name are returned for each record, separated by spaces.
An alternate field separator can be specified using a comma after the main
separator character, followed immediately by the field separator.
An alternate field separator can be specified using a comma after the main
separator character, followed immediately by the field separator.
strings, each preceded by the attribute name and an equals sign. Within the
quotes, the quote character, backslash, and newline are escaped with
backslashes, and commas are used to separate multiple values for the attribute.
strings, each preceded by the attribute name and an equals sign. Within the
quotes, the quote character, backslash, and newline are escaped with
backslashes, and commas are used to separate multiple values for the attribute.
Any commas in attribute values are doubled
(permitting treatment of the values as a comma-separated list).
Any commas in attribute values are doubled
(permitting treatment of the values as a comma-separated list).
Apart from the escaping, the string within quotes takes the same form as the
output when a single attribute is requested. Specifying no attributes is the
same as specifying all of an entry's attributes.
Apart from the escaping, the string within quotes takes the same form as the
output when a single attribute is requested. Specifying no attributes is the
same as specifying all of an entry's attributes.
Here are some examples of the output format. The first line of each pair is an
LDAP query, and the second is the data that is returned. The attribute called
&%attr1%& has two values, one of them with an embedded comma, whereas
Here are some examples of the output format. The first line of each pair is an
LDAP query, and the second is the data that is returned. The attribute called
&%attr1%& has two values, one of them with an embedded comma, whereas
ldap:///o=base??sub?(uid=fred)
objectClass="top" attr1="value1.1,value1,,2" attr2="value two"
.endd
ldap:///o=base??sub?(uid=fred)
objectClass="top" attr1="value1.1,value1,,2" attr2="value two"
.endd
You can
make use of Exim's &%-be%& option to run expansion tests and thereby check the
results of LDAP lookups.
The &%extract%& operator in string expansions can be used to pick out
individual fields from data that consists of &'key'&=&'value'& pairs.
You can
make use of Exim's &%-be%& option to run expansion tests and thereby check the
results of LDAP lookups.
The &%extract%& operator in string expansions can be used to pick out
individual fields from data that consists of &'key'&=&'value'& pairs.
The &%listextract%& operator should be used to pick out individual values
of attributes, even when only a single value is expected.
The doubling of embedded commas allows you to use the returned data as a
comma separated list (using the "<," syntax for changing the input list separator).
The &%listextract%& operator should be used to pick out individual values
of attributes, even when only a single value is expected.
The doubling of embedded commas allows you to use the returned data as a
comma separated list (using the "<," syntax for changing the input list separator).
${sort {$lookup dnsdb{>:,,mx=example.com}} {<} {${listextract{1}{<,$item}}}}
.endd
will sort an MX lookup into priority order.
${sort {$lookup dnsdb{>:,,mx=example.com}} {<} {${listextract{1}{<,$item}}}}
.endd
will sort an MX lookup into priority order.
This variable refers to the certificate presented to the peer of an
inbound connection when the message was received.
It is only useful as the argument of a
This variable refers to the certificate presented to the peer of an
inbound connection when the message was received.
It is only useful as the argument of a
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
This variable refers to the certificate presented by the peer of an
inbound connection when the message was received.
It is only useful as the argument of a
This variable refers to the certificate presented by the peer of an
inbound connection when the message was received.
It is only useful as the argument of a
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
or a &%def%& condition.
.vitem &$tls_out_ourcert$&
.vindex "&$tls_out_ourcert$&"
This variable refers to the certificate presented to the peer of an
outbound connection. It is only useful as the argument of a
or a &%def%& condition.
.vitem &$tls_out_ourcert$&
.vindex "&$tls_out_ourcert$&"
This variable refers to the certificate presented to the peer of an
outbound connection. It is only useful as the argument of a
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
or a &%def%& condition.
.vitem &$tls_out_peercert$&
.vindex "&$tls_out_peercert$&"
This variable refers to the certificate presented by the peer of an
outbound connection. It is only useful as the argument of a
or a &%def%& condition.
.vitem &$tls_out_peercert$&
.vindex "&$tls_out_peercert$&"
This variable refers to the certificate presented by the peer of an
outbound connection. It is only useful as the argument of a
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
&%certextract%& expansion item, &%md5%&, &%sha1%& or &%sha256%& operator,
of the other precondition options are common special cases that could in fact
be specified using &%condition%&.
of the other precondition options are common special cases that could in fact
be specified using &%condition%&.
Historical note: We have &%condition%& on ACLs and on Routers. Routers
are far older, and use one set of semantics. ACLs are newer and when
they were created, the ACL &%condition%& process was given far stricter
Historical note: We have &%condition%& on ACLs and on Routers. Routers
are far older, and use one set of semantics. ACLs are newer and when
they were created, the ACL &%condition%& process was given far stricter
match an explicit false value. This can be tricky to debug. By
contrast, in an ACL either of those strings will always result in an
expansion error because the result doesn't look sufficiently boolean.
match an explicit false value. This can be tricky to debug. By
contrast, in an ACL either of those strings will always result in an
expansion error because the result doesn't look sufficiently boolean.
For ACLs that are called by an &%acl =%& ACL condition, the message is
stored in &$acl_verify_message$&, from which the calling ACL may use it.
For ACLs that are called by an &%acl =%& ACL condition, the message is
stored in &$acl_verify_message$&, from which the calling ACL may use it.
If &%message%& is used on a statement that verifies an address, the message
specified overrides any message that is generated by the verification process.
If &%message%& is used on a statement that verifies an address, the message
specified overrides any message that is generated by the verification process.
The input files can be in Exim log format or syslog format.
If a matching log line is not associated with a specific message, it is
included in &'exigrep'&'s output without any additional lines. The usage is:
The input files can be in Exim log format or syslog format.
If a matching log line is not associated with a specific message, it is
included in &'exigrep'&'s output without any additional lines. The usage is:
If no log file names are given on the command line, the standard input is read.
The &%-t%& argument specifies a number of seconds. It adds an additional
If no log file names are given on the command line, the standard input is read.
The &%-t%& argument specifies a number of seconds. It adds an additional
The &%-v%& option inverts the matching condition. That is, a line is selected
if it does &'not'& match the pattern.
The &%-v%& option inverts the matching condition. That is, a line is selected
if it does &'not'& match the pattern.
The &%-M%& options means &"related messages"&. &'exigrep'& will show messages
that are generated as a result/response to a message that &'exigrep'& matched
normally.
The &%-M%& options means &"related messages"&. &'exigrep'& will show messages
that are generated as a result/response to a message that &'exigrep'& matched
normally.
when searching for &"user_a"& will show both messages since the bounce is
&"related"& to or a &"result"& of the first message that was found by the
search term.
when searching for &"user_a"& will show both messages since the bounce is
&"related"& to or a &"result"& of the first message that was found by the
search term.
If the location of a &'zcat'& command is known from the definition of
ZCAT_COMMAND in &_Local/Makefile_&, &'exigrep'& automatically passes any file
If the location of a &'zcat'& command is known from the definition of
ZCAT_COMMAND in &_Local/Makefile_&, &'exigrep'& automatically passes any file