Focusing for @ Syntax
The last few rules in our illustration of a typical
canonify
rule
set 3 are used to process the Internet-style
user@domain
address:
# find focus for @ syntax addresses R $+ @ $+ $: $1 <@ $2> focus on domain R $+ < $+ @ $+ > $1 $2 <@ $3> move gaze right R $+ <@ $+ > $@ $1 <@ $2> already focused
For an address such as
something@something, the
first rule focuses on all the tokens following the
first @
as the
name of the host. Recall that the $
: prefix to the
righthand side (RHS) prevents potentially infinite
recursion.
Assuming that the workspace started with:
user@host
these rules will rewrite that address to focus on the host part and become:
user<@host>
Any address that has not been handled by the canonify
rule set 3 is
unchanged and probably not focused. Because the
parse
rule set
0 expects all addresses to be focused so that it can
select appropriate delivery agents, such unfocused
addresses can bounce. Many configuration files allow
local addresses (just a username) to be
unfocused.
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.