SENDMAIL(1)

NAME
sendmail - Postfix to Sendmail compatibility interface

SYNOPSIS
sendmail [option ...] [recipient ...]
mailq
sendmail -bp
newaliases
sendmail -I

DESCRIPTION
The sendmail program implements the Postfix to Sendmail compatibility interface. For the sake of compatibility with existing applications, some Sendmail command-line options are recognized but silently ignored. By default, sendmail reads a message from standard input until EOF or until it reads a line with only a . character, and arranges for delivery. sendmail attempts to create a queue file in the maildrop directory. If that directory is not world-writable, the message is piped through the postdrop(1) command, which is expected to execute with suitable privileges. 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 operation is implemented by connecting to the showq(8) daemon.

newaliases
    Initialize the alias database. If no alias database type is specified, the program uses the type specified in the database_type configuration parameter; if no input file is specified, the program processes the file(s) specified with the alias_database 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 features are controlled by parameters in the main.cf configuration file. The following options are recognized:

-B body_type (ignored)
    The message body MIME type. Currently, Postfix implements just-send-eight.

-C config_file (ignored :-)
    The path name of the sendmail.cf file. Postfix configuration files are kept in /etc/postfix.

-F full_name
    Set the sender full name. This is used only with messages that have no From: message header.

-G (ignored)
    Gateway (relay) submission, as opposed to initial user submission.

-I  Initialize alias database. See the newaliases command above.

-N dsn (ignored)
    Delivery status notification control. Currently, Postfix does not implement DSN.

-R return_limit (ignored)
    Limit the size of bounced mail. Use the bounce_size_limit configuration parameter instead.

-X log_file (ignored)
    Log mailer traffic. Use the debug_peer_list and debug_peer_level configuration parameters instead.

-U (ignored)
    Initial user submission.

-bd Go into daemon mode. This mode of operation is implemented by executing the postfix start command.

-bi Initialize alias database. See the newaliases command 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 standard output. This mode of operation is implemented by running the smtpd(8) daemon.

-f sender
    Set the envelope sender address. This is the address where delivery problems are sent to, unless the message contains an Errors-To: message header.

-h hop_count (ignored)
    Hop count limit. Use the hopcount_limit configuration parameter instead.

-i  When reading a message from standard input, don't treat a line with only a . character as the end of input.

-m (ignored)
    Backwards compatibility.

-n (ignored)
    Backwards compatibility.

-oAalias_database
    Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details.

-o7 (ignored)

-o8 (ignored)
    The message body type. Currently, Postfix implements just-send-eight.

-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 configuration parameter in main.cf instead.

-r sender
    Set the envelope sender address. This is the address where delivery problems are sent to, unless the message contains an Errors-To: message header.

-q  Attempt to deliver all queued mail. This is implemented by kicking the qmgr(8) daemon.

-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. Depending on the destination, this uses "fast flush" service, or it has the same effect as sendmail -q. This is implemented by connecting to the local SMTP server. See smtpd(8) for more information about the "fast flush" service.

-qSsite
    This command is not implemented. Use the slower sendmail -q command instead.

-t  Extract recipients from message headers. This requires that no recipients be specified on the command line.

-v  Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose.

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
    Enable verbose logging for debugging purposes.

MAIL_DEBUG
    Enable debugging with an external command, as specified with the debugger_command configuration parameter.

FILES
/var/spool/postfix, mail queue
/etc/postfix, configuration files

CONFIGURATION PARAMETERS
See the Postfix main.cf file for syntax details and for default values. Use the postfix reload command after a configuration change.

alias_database
    Default alias database(s) for newaliases. The default value for this parameter is system-specific.

bounce_size_limit
    The amount of original message context that is sent along with a non-delivery notification.

database_type
    Default alias etc. database type. On many UNIX systems the default type is either dbm or hash.

debugger_command
    Command that is executed after a Postfix daemon has initialized.

debug_peer_level
    Increment in verbose logging level when a remote host matches a pattern in the debug_peer_list parameter.

debug_peer_list
    List of domain or network patterns. When a remote host matches a pattern, increase the verbose logging level by the amount specified in the debug_peer_level parameter.

fast_flush_domains
    List of domains that will receive "fast flush" service (default: all domains that this system is willing to relay mail to). This greatly improves the performance of the SMTP ETRN request, and of the sendmail -qR command. For domains not in the list, Postfix simply attempts to deliver all queued mail.

fork_attempts
    Number of attempts to fork() a process before giving up.

fork_delay
    Delay in seconds between successive fork() attempts.

hopcount_limit
    Limit the number of Received: message headers.

mail_owner
    The owner of the mail queue and of most Postfix processes.

command_directory
    Directory with Postfix support commands (default: $program_directory).

daemon_directory
    Directory with Postfix daemon programs (default: $program_directory).

queue_directory
    Top-level directory of the Postfix queue. This is also the root directory of Postfix daemons that run chrooted.

queue_run_delay
    The time between successive scans of the deferred queue.

SEE ALSO
pickup(8) mail pickup daemon
postalias(1) maintain alias database
postdrop(1) privileged posting agent
postfix(1) mail system control
postkick(1) kick a Postfix daemon
qmgr(8) queue manager
showq(8) list mail queue
smtpd(8) SMTP server
flushd(8) fast flush service
syslogd(8) system logging

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