ssmtp(8) send a message using smtp

Other Alias



ssmtp [ flags ] [ address ... ]
/usr/lib/sendmail [ flags ] [ address ... ]


ssmtp is a send-only sendmail emulator for machines which normally pick their mail up from a centralized mailhub (via pop, imap, nfs mounts or other means). It provides the functionality required for humans and programs to send mail via the standard or /usr/bin/mail user agents.

It accepts a mail stream on standard input with recipients specified on the command line and synchronously forwards the message to the mail transfer agent of a mailhub for the mailhub MTA to process. Failed messages are placed in dead.letter in the sender's home directory.

Config files allow one to specify the address to receive mail from root, daemon, etc.; a default mailhub; a default domain to be used in From: lines; and per-user From: addresses and mailhub names.

It does not attempt to provide all the functionality of sendmail: it is intended for use where other programs are the primary means of at last mail delivery. It is usefull with pop/imap, or to simulate the Sun shared mail spool option for non-Sun machines, for machines whose sendmails are too difficult (or various) to configure, for machines with known disfeatures in their sendmails or for ones where there are ``mysterious problems''.

It does not do aliasing, which must be done either in the user agent or on the mailhub. Nor does it honor .forwards, which have to be done on the recieving host. It especially does not deliver to pipelines.


Most sendmail options are irrelevent to sSMTP. Those marked ``ignored'' or ``default'' have no effect on mail transfer. Those marked ``unsupported'' are fatal errors. Those marked ``simulated'' are not errors, but the result is for the program to exit with an informative message. A sort of fatal non-error.

Forces ssmtp to use IPv4 addresses only.

Forces ssmtp to use IPv6 addresses only.

Specifies username for SMTP authentication.

Specifies password for SMTP authentication.

Specifies mechanism for SMTP authentication. (Only LOGIN and CRAM-MD5)

(unsupported) ARPANET mode. All input lines must end with a LINEFEED, and all messages will be generated with a CR-LF at the end. Also, the ``From:'' and ``Sender:'' fields are examined for the name of the sender.

(unsupported) Run as a daemon.

(ignored) Initialise the alias database.

(default) Deliver mail in the usual way.

(simulated) Print a summary of the mail queue.

(unsupported) Read SMTP commands from stdin.

(unsupported) Run in address test mode.

(unsupported) Verify names only.

(unsupported) Create the configuration freeze file.

Use alternate configuration file.

Set debugging value to X.

(ignored) Don't trust userid of sender.

Set the full name of the sender.

Sets the name of the ``from'' person. This option is valid only if no From: line is specified within the header of the email.

(ignored) Set the hop count to N.

(ignored) Ignore originator in alias.

(ignored) Attempt to deliver the queued message with message-id id.

-N dsn
(ignored) Set delivery status notification conditions to dsn.

(default) Do not do aliasing.

(ignored) Use alternate alias file.

(ignored) Delay ``expensive'' connections.

(ignored) Set the delivery mode to interactive/synchronous, background or queue (Always interactive).

(ignored) Run newaliases if required.

(ignored) Set error processing to mail, write, print or quit. (Always print).

(ignored) The mode to use when creating temporary files.

(ignored) Save UNIX-system-style ``From'' lines at the front of messages.

(ignored) Set group ID to use when calling mailers.

(ignored) Set SMTP help file.

(default) Do not take dots on a line by themselves as a message terminator.

(ignored) The log level.

(default) Send to ``me'' (the sender) also if in an alias.

(unsupported) If set, this message may have old style headers.

(ignored) Select the directory in which to queue messages.

(ignored) The timeout on reads.

(ignored) Save statistics in the named file.

(ignored) Always instantiate the queue.

(ignored) Set timeout on messages.

(ignored) Set the name of the time zone.

(ignored) Set the default user id for mailers.

(simulated) Process the queue.

Same as -f.

(ignored) Process queue for recipient.

-R return
(ignored) Set the amount of the message to be returned if the message bounces.

Read message, searching for recipients. ``To:'', `Cc:'', and ``Bcc:'' lines will be scanned for people to send to. Any addresses in the argument list will be suppressed (not supported).

Go into verbose mode.

Say version and quit.


A reverse alias gives the From: address placed on a user's outgoing messages and (optionally) the mailhub these messages will be sent through. Example:

root:[email protected]

Messages root sends will be identified as from [email protected] and sent through


 /etc/ssmtp/ssmtp.conf - configuration file

 /etc/ssmtp/revaliases - reverse aliases file


Matt Ryan ([email protected]) Hugo Haas ([email protected]) Christoph Lameter ([email protected]) Dave Collier-Brown ([email protected])


sSMTP does not support exception lists to the -t option (never seen it used).

sSMTP will fail if the mailhub is unreachable.