Chapter 17. String Expansion
The combination of expansions and lookups makes it possible to configure Exim in many different ways. If you want to explore these different possibilities, you need to understand what string expansions can do for you. We cover a number of examples in earlier chapters; this chapter contains a full explanation of the mechanism, and descriptions of all the different expansion items. A reference summary of string expansion, including a list of all the expansion variables, is given in Appendix A.
When Exim is expanding a string, special processing is triggered by the appearance of a dollar sign. The expander copies the string from left to right until it hits a dollar, at which point it reads to the end of the expansion item, does whatever processing is required, and adds the resulting substring to its output before continuing to read the rest of the original string. Most, but not all, expansion items involve the use of curly brackets (braces) as delimiters. For example, when expanding the following string:
Before-${substr_4_2:$local_part}-Afterthe expander copies the initial substring Before-, then processes the
expansion item ${substr_4_2:$local_part} to produce the next part of
the result, and finally adds the substring -After at the end.
To make it possible to include a dollar character in the output of an
expansion, backslash is treated as an escape character by the expander. A
number of special sequences, such as \n for newline, are recognized.[158
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access