F=r

Delivery agent adds -r to argv All versions

If sendmail is run with a -f command-line argument, and if the F=r delivery agent flag is specified, the A= for this delivery agent has the two additional arguments, -r and $g, inserted between its argv[0] and argv[1].

Consider a case in which sendmail is run as:

/usr/lib/sendmail -f jim bill

If bill is a local user and the delivery agent for local is defined as:

Mlocal, P=/bin/mail, F=r
lsDFMmnP, S=10, R=20, A=mail -d $u
                       ↑
                     note

the r in F=rlsDFMmnP will cause the A= of:

A=mail -d $u

to be rewritten as:

A=mail -r $g -d $u

The $g is jim from the original command line (but rewritten to be a return address relative to the recipient). The original -f argument jim is first rewritten by the canonify rule set 3, the rule set 1, and the final rule set 4. The result of those rewrites is placed into $f ($f on page 824). The $f sendmail macro is rewritten by the canonify rule set 3, the rule set 1, the S= rule set, and the final rule set 4, and the result is placed into $g ($g on page 824).

Note that the F=f and the F=r delivery agent flags are very similar and easily confused.

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.