SMTP(1) | General Commands Manual | SMTP(1)

# NAME

`smtp` — Simple Mail Transfer Protocol client

# SYNOPSIS

`smtp` | [`-Chnv`] [`-a` authfile] [`-F` from] [`-H` helo] [`-s` server] [`-T` params] [recipient ...]

# DESCRIPTION

The `smtp` utility is a Simple Mail Transfer Protocol (SMTP) client which can be used to run an SMTP transaction against an SMTP server.

By default, `smtp` reads the mail content from the standard input, establishes an SMTP session, and runs an SMTP transaction for all the specified recipients. The content is sent unaltered as mail data.

The options are as follows:

`-a` authfile
  Perform a login before sending the message. The username and password are read from authfile and need to be on the first and second line respectively. This option requires a TLS or STARTTLS server.
`-C`
  Do not require server certificate to be valid. This flag is deprecated. Use “`-T` `noverify`” instead.
`-F` from
  Set the return-path (MAIL FROM) for the SMTP transaction. Default to the current username.
`-H` helo
  Define the hostname to advertise (HELO) when establishing the SMTP session.
`-h`
  Display usage.
`-n`
  Do not actually execute a transaction, just try to establish an SMTP session and quit. When this option is given, no message is read from the standard input.
`-s` server
  Specify the server to connect to and connection parameters. The format is [proto://[user:pass@]]host[:port]. The following protocols are available:

  smtp
    Normal SMTP session with opportunistic STARTTLS.
  smtp+tls
    Normal SMTP session with mandatory STARTTLS.
  smtp+notls
    Plain text SMTP session without TLS.
  lmtp
    LMTP session with opportunistic STARTTLS.
  lmtp+tls
    LMTP session with mandatory STARTTLS.
  lmtp+notls
    Plain text LMTP session without TLS.
  smtps
    SMTP session with forced TLS on connection.

  Defaults to “smtp://localhost:25”.

`-T` params
  Set specific parameters for TLS sessions. The params string is a comma or space separated list of options. The available options are:
  `cafile`=filename
    Use filename as root certificates file instead of the system default.
  `ciphers`=value
    Specify the allowed ciphers. Refer to tls_config_set_ciphers(3) for value.
  `nosni`
    Disable Server Name Indication (SNI).
  `noverify`
    Do not require server certificate to be valid.
  `protocols`=value
    Specify the protocols to use. Refer to tls_config_parse_protocols(3) for value.
  `servername`=value
    Use value for Server Name Indication (SNI). Defaults to the specified server hostname.
`-v`
  Be more verbose. This option can be specified multiple times.

# SEE ALSO

smtpd(8)

# HISTORY

The `smtp` program first appeared in OpenBSD 6.4.

May 23, 2021 | Debian