The -bm
command-line switch (the default) causes
sendmail to run once in the foreground. A list
of recipients is taken from the command line (unless the
-t command-line switch is used), and the message
is read from the standard input and delivered.
This is the mode MUAs use when they invoke
sendmail on the user's behalf.
The sendmail program processes the recipients
first, then the message header, then the message body. Usually, the
envelope recipients are those on the command line. But if the
-t command-line switch is also used, the
recipients are taken from the message header. The envelope sender is
more difficult to determine:
Trusted users, and programs running under the identity of those
users, can specify the address of the sender by using the
-f command-line switch (-f) when running sendmail.
Trusted users are those that are declared with a T
configuration command (Section 10.8.1.1). If anyone other
than a trusted user uses the -f command-line
switch, an X-Authentication-Warning: header (X-Authentication-Warning:) will be added to the message to show that the
sender was changed by an unauthorized user.
Otherwise, sendmail tries to use the user
identity of the invoking program to determine the sender.
When generating a mail bounce message, the sender becomes the name
specified by the value of the $n
sendmail macro ($n),
usually mailer-daemon.