smtptest − interactive SMTP test program


smtptest [ −t keyfile ] [ −p port ] [ −m mechanism ]
[ −a userid ] [ −u userid ] [ −k num ] [ −l num ]
[ −r realm ] [ −f file ] [ −n num ] [ −s ] [ −c ]
[ −i ] [ −o option=value ] [ −v ] hostname


smtptest is a utility that allows you to authenticate to a SMTP server and interactively issue commands to it. Once authenticated you may issue any SMTP command by simply typing it in. It is capable of multiple SASL authentication mechanisms and handles encryption layers transparently. This utility is often used for testing the operation of a smtp server. Also those developing SMTP clients find it useful.


−t keyfile

Enable TLS. keyfile contains the TLS public and private keys. Specify "" to negotiate a TLS encryption layer but not use TLS authentication.

−p port

Port to connect to. If left off this defaults to smtp as defined in /etc/services.

-m mechanism

Force smtptest to use mechanism for authentication. If not specified the strongest authentication mechanism supported by the server is chosen.

-a userid

Userid to use for authentication; defaults to the current user. This is the userid whose password or credentials will be presented to the server for verification.

-u userid

Userid to use for authorization; defaults to the current user. This is the userid whose identity will be assumed after authentication. NOTE: This is only used with SASL mechanisms that allow proxying (e.g. PLAIN, DIGEST-MD5).

-k num

Minimum protection layer required.

-l num

Maximum protection layer to use (0=none; 1=integrity; etc). For example if you are using the KERBEROS_V4 authentication mechanism specifying 0 will force smtptest to not use any layer and specifying 1 will force it to use the integrity layer. By default the maximum supported protection layer will be used.

-r realm

Specify the realm to use. Certain authentication mechanisms (e.g. DIGEST-MD5) may require one to specify the realm.

-f file

Pipe file into connection after authentication.

-n num

Number of authentication attempts; default = 1. The client will attempt to do SSL/TLS session reuse and/or fast reauth (e.g. DIGEST-MD5), if possible.


Enable SMTP over SSL (smtps).


Enable challenge prompt callbacks. This will cause the OTP mechanism to ask for the the one-time password instead of the secret pass-phrase (library generates the correct response).


Don’t send an initial client response for SASL mechanisms, even if the protocol supports it.

-o option=value

Set the SASL option to value.


Verbose. Print out more information than usual.



More Linux Commands

smoltDeleteProfile(1) - Delete Smolt hardware profile from s
smoltDeleteProfile deletes the machines profile from a remote Smoon server. Smolt is a cross-desktop hardware reporting tool for GNU/Linux based systems. OPTION

git-format-patch(1) - Prepare patches for e-mail submission
Prepare each commit with its patch in one file per commit, formatted to resemble UNIX mailbox format. The output of this command is convenient for e-mail submis

aa_change_hat(2) - change to or from a "hat" within a AppArm
aa_change_hat.2 - An AppArmor profile applies to an executable program; if a portion of the program needs different access permissions than other portions, the

get_escdelay.3ncurses - get_escdelay(3ncurses) - curses thread support (Man Page)...
This implementation can be configured to provide rudimentary support for multi-threaded applications. This makes a different set of libraries, e.g., libncursest

fpurge(3) - purge a stream (Library - Linux man page).......
The function fpurge() clears the buffers of the given stream. For output streams this discards any unwritten output. For input streams this discards any input r

hash(3) - hash database access method - Linux manual page...
hash.3 - Note well: This page documents interfaces provided in glibc up until version 2.1. Since version 2.2, glibc no longer provides these interfaces. Probabl

ImageByteOrder(3) - image format functions and macros.......
The XListPixmapFormats function returns an array of XPixmapFormatValues structures that describe the types of Z format images supported by the specified display

XRebindKeysym(3) - handle keyboard input events in Latin-1
The XLookupKeysym function uses a given keyboard event and the index you specified to return the KeySym from the list that corresponds to the KeyCode member in

route.conf(5) - Configuration for routing table has changed
The file /etc/route.conf is no longer used starting with versions SuSE Linux 8.0. Please see routes(5) for the routing configuration. To do so issue $ man route

XkbAllocGeomProps(3) - Allocate geometry properties.........
XkbAllocGeomProps.3 - Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyb

getmouse_sp(3ncurses) - curses screen-pointer extension.....
This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can be added to any of th

FcConfigReference(3) - Increment config reference count.....
Add another reference to config. Configs are freed only when the reference count reaches zero. If config is NULL, the current configuration is used. In that cas

We can't live, work or learn in freedom unless the software we use is free.