SENDMAIL(1) SENDMAIL(1)
NAME
sendmail - Postfix to Sendmail compatibility interface
SYNOPSIS
sendmail [option ...] [recipient ...]
mailq
sendmail -bp
newaliases
sendmail -I
DESCRIPTION
The Postfix sendmail(1) command implements the Postfix to
Sendmail compatibility interface. For the sake of compat-
ibility with existing applications, some Sendmail command-
line options are recognized but silently ignored.
By default, Postfix sendmail(1) reads a message from stan-
dard input until EOF or until it reads a line with only a
. character, and arranges for delivery. Postfix send-
mail(1) relies on the postdrop(1) command to create a
queue file in the maildrop directory.
Specific command aliases are provided for other common
modes of operation:
mailq List the mail queue. Each entry shows the queue
file ID, message size, arrival time, sender, and
the recipients that still need to be delivered. If
mail could not be delivered upon the last attempt,
the reason for failure is shown. This mode of oper-
ation is implemented by executing the postqueue(1)
command.
newaliases
Initialize the alias database. If no input file is
specified (with the -oA option, see below), the
program processes the file(s) specified with the
alias_database configuration parameter. If no
alias database type is specified, the program uses
the type specified with the default_database_type
configuration parameter. This mode of operation is
implemented by running the postalias(1) command.
Note: it may take a minute or so before an alias
database update becomes visible. Use the "postfix
reload" command to eliminate this delay.
These and other features can be selected by specifying the
appropriate combination of command-line options. Some fea-
tures are controlled by parameters in the main.cf configu-
ration file.
The following options are recognized:
-Am (ignored)
-Ac (ignored)
Postfix sendmail uses the same configuration file
regardless of whether or not a message is an ini-
tial submission.
-B body_type
The message body MIME type: 7BIT or 8BITMIME.
-bd Go into daemon mode. This mode of operation is
implemented by executing the "postfix start" com-
mand.
-bh (ignored)
-bH (ignored)
Postfix has no persistent host status database.
-bi Initialize alias database. See the newaliases com-
mand above.
-bm Read mail from standard input and arrange for
delivery. This is the default mode of operation.
-bp List the mail queue. See the mailq command above.
-bs Stand-alone SMTP server mode. Read SMTP commands
from standard input, and write responses to stan-
dard output. In stand-alone SMTP server mode, mail
relaying and other access controls are disabled by
default. To enable them, run the process as the
mail_owner user.
This mode of operation is implemented by running
the smtpd(8) daemon.
-bv Do not collect or deliver a message. Instead, send
an email report after verifying each recipient
address. This is useful for testing address
rewriting and routing configurations.
This feature is available in Postfix version 2.1
and later.
-C config_file
-C config_dir
The path name of the Postfix main.cf file, or of
its parent directory. This information is ignored
with Postfix versions before 2.3.
With all Postfix versions, you can specify a direc-
tory pathname with the MAIL_CONFIG environment
variable to override the location of configuration
files.
-F full_name
Set the sender full name. This overrides the NAME
environment variable, and is used only with mes-
sages that have no From: message header.
-f sender
Set the envelope sender address. This is the
address where delivery problems are sent to. With
Postfix versions before 2.1, the Errors-To: message
header overrides the error return address.
-G Gateway (relay) submission, as opposed to initial
user submission. Either do not rewrite addresses
at all, or update incomplete addresses with the
domain information specified with remote_header_re-
write_domain.
This option is ignored before Postfix version 2.3.
-h hop_count (ignored)
Hop count limit. Use the hopcount_limit configura-
tion parameter instead.
-I Initialize alias database. See the newaliases com-
mand above.
-i When reading a message from standard input, don't
treat a line with only a . character as the end of
input.
-L label (ignored)
The logging label. Use the syslog_name configura-
tion parameter instead.
-m (ignored)
Backwards compatibility.
-N dsn (default: 'delay, failure')
Delivery status notification control. Specify
either a comma-separated list with one or more of
failure (send notification when delivery fails),
delay (send notification when delivery is delayed),
or success (send notification when the message is
delivered); or specify never (don't send any noti-
fications at all).
This feature is available in Postfix 2.3 and later.
-n (ignored)
Backwards compatibility.
-oAalias_database
Non-default alias database. Specify pathname or
type:pathname. See postalias(1) for details.
-O option=value (ignored)
Backwards compatibility.
-o7 (ignored)
-o8 (ignored)
To send 8-bit or binary content, use an appropriate
MIME encapsulation and specify the appropriate -B
command-line option.
-oi When reading a message from standard input, don't
treat a line with only a . character as the end of
input.
-om (ignored)
The sender is never eliminated from alias etc.
expansions.
-o x value (ignored)
Set option x to value. Use the equivalent configu-
ration parameter in main.cf instead.
-r sender
Set the envelope sender address. This is the
address where delivery problems are sent to. With
Postfix versions before 2.1, the Errors-To: message
header overrides the error return address.
-R return_limit (ignored)
Limit the size of bounced mail. Use the
bounce_size_limit configuration parameter instead.
-q Attempt to deliver all queued mail. This is imple-
mented by executing the postqueue(1) command.
Warning: flushing undeliverable mail frequently
will result in poor delivery performance of all
other mail.
-qinterval (ignored)
The interval between queue runs. Use the
queue_run_delay configuration parameter instead.
-qRsite
Schedule immediate delivery of all mail that is
queued for the named site. This option accepts only
site names that are eligible for the "fast flush"
service, and is implemented by executing the
postqueue(1) command. See flush(8) for more infor-
mation about the "fast flush" service.
-qSsite
This command is not implemented. Use the slower
"sendmail -q" command instead.
-t Extract recipients from message headers. These are
added to any recipients specified on the command
line.
With Postfix versions prior to 2.1, this option
requires that no recipient addresses are specified
on the command line.
-U (ignored)
Initial user submission.
-V envid
Specify the envelope ID for notification by servers
that support DSN.
This feature is available in Postfix 2.3 and later.
-XV (Postfix 2.2 and earlier: -V)
Variable Envelope Return Path. Given an envelope
sender address of the form owner-listname@origin,
each recipient user@domain receives mail with a
personalized envelope sender address.
By default, the personalized envelope sender
address is owner-listname+user=domain@origin. The
default + and = characters are configurable with
the default_verp_delimiters configuration parame-
ter.
-XVxy (Postfix 2.2 and earlier: -Vxy)
As -XV, but uses x and y as the VERP delimiter
characters, instead of the characters specified
with the default_verp_delimiters configuration
parameter.
-v Send an email report of the first delivery attempt
(Postfix versions 2.1 and later). Mail delivery
always happens in the background. When multiple -v
options are given, enable verbose logging for
debugging purposes.
-X log_file (ignored)
Log mailer traffic. Use the debug_peer_list and
debug_peer_level configuration parameters instead.
SECURITY
By design, this program is not set-user (or group) id.
However, it must handle data from untrusted users or
untrusted machines. Thus, the usual precautions need to
be taken against malicious inputs.
DIAGNOSTICS
Problems are logged to syslogd(8) and to the standard
error stream.
ENVIRONMENT
MAIL_CONFIG
Directory with Postfix configuration files.
MAIL_VERBOSE (value does not matter)
Enable verbose logging for debugging purposes.
MAIL_DEBUG (value does not matter)
Enable debugging with an external command, as spec-
ified with the debugger_command configuration
parameter.
NAME The sender full name. This is used only with mes-
sages that have no From: message header. See also
the -F option above.
CONFIGURATION PARAMETERS
The following main.cf parameters are especially relevant
to this program. The text below provides only a parameter
summary. See postconf(5) for more details including exam-
ples.
TROUBLE SHOOTING CONTROLS
The DEBUG_README file gives examples of how to trouble
shoot a Postfix system.
debugger_command (empty)
The external command to execute when a Postfix dae-
mon program is invoked with the -D option.
debug_peer_level (2)
The increment in verbose logging level when a
remote client or server matches a pattern in the
debug_peer_list parameter.
debug_peer_list (empty)
Optional list of remote client or server hostname
or network address patterns that cause the verbose
logging level to increase by the amount specified
in $debug_peer_level.
ACCESS CONTROLS
Available in Postfix version 2.2 and later:
authorized_flush_users (static:anyone)
List of users who are authorized to flush the
queue.
authorized_mailq_users (static:anyone)
List of users who are authorized to view the queue.
authorized_submit_users (static:anyone)
List of users who are authorized to submit mail
with the sendmail(1) command (and with the privi-
leged postdrop(1) helper command).
RESOURCE AND RATE CONTROLS
bounce_size_limit (50000)
The maximal amount of original message text that is
sent in a non-delivery notification.
fork_attempts (5)
The maximal number of attempts to fork() a child
process.
fork_delay (1s)
The delay between attempts to fork() a child
process.
hopcount_limit (50)
The maximal number of Received: message headers
that is allowed in the primary message headers.
queue_run_delay (1000s)
The time between deferred queue scans by the queue
manager.
FAST FLUSH CONTROLS
The ETRN_README file describes configuration and operation
details for the Postfix "fast flush" service.
fast_flush_domains ($relay_domains)
Optional list of destinations that are eligible for
per-destination logfiles with mail that is queued
to those destinations.
VERP CONTROLS
The VERP_README file describes configuration and operation
details of Postfix support for variable envelope return
path addresses.
default_verp_delimiters (+=)
The two default VERP delimiter characters.
verp_delimiter_filter (-=+)
The characters Postfix accepts as VERP delimiter
characters on the Postfix sendmail(1) command line
and in SMTP commands.
MISCELLANEOUS CONTROLS
alias_database (see 'postconf -d' output)
The alias databases for local(8) delivery that are
updated with "newaliases" or with "sendmail -bi".
command_directory (see 'postconf -d' output)
The location of all postfix administrative com-
mands.
config_directory (see 'postconf -d' output)
The default location of the Postfix main.cf and
master.cf configuration files.
daemon_directory (see 'postconf -d' output)
The directory with Postfix support programs and
daemon programs.
default_database_type (see 'postconf -d' output)
The default database type for use in newaliases(1),
postalias(1) and postmap(1) commands.
delay_warning_time (0h)
The time after which the sender receives the mes-
sage headers of mail that is still queued.
enable_errors_to (no)
Report mail delivery errors to the address speci-
fied with the non-standard Errors-To: message
header, instead of the envelope sender address
(this feature is removed with Postfix version 2.2,
is turned off by default with Postfix version 2.1,
and is always turned on with older Postfix ver-
sions).
mail_owner (postfix)
The UNIX system account that owns the Postfix queue
and most Postfix daemon processes.
queue_directory (see 'postconf -d' output)
The location of the Postfix top-level queue direc-
tory.
remote_header_rewrite_domain (empty)
Don't rewrite message headers from remote clients
at all when this parameter is empty; otherwise, re-
write message headers and append the specified
domain name to incomplete addresses.
syslog_facility (mail)
The syslog facility of Postfix logging.
syslog_name (postfix)
The mail system name that is prepended to the
process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
FILES
/var/spool/postfix, mail queue
/etc/postfix, configuration files
SEE ALSO
pickup(8), mail pickup daemon
qmgr(8), queue manager
smtpd(8), SMTP server
flush(8), fast flush service
postsuper(1), queue maintenance
postalias(1), create/update/query alias database
postdrop(1), mail posting utility
postfix(1), mail system control
postqueue(1), mail queue control
syslogd(8), system logging
README_FILES
DEBUG_README, Postfix debugging howto
ETRN_README, Postfix ETRN howto
VERP_README, Postfix VERP howto
LICENSE
The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
SENDMAIL(1)