Scroll to navigation

MSMTPD(1) General Commands Manual MSMTPD(1)

NAME

msmtpd - A minimal SMTP server

SYNOPSIS

msmtpd [option...]

DESCRIPTION

Msmtpd is a minimal SMTP server that pipes mails to msmtp (or some other program) for delivery. It is intended to be used with system services that expect an SMTP server on the local host and cannot be configured to use the sendmail interface that msmtp provides.
Msmtpd handles local SMTP clients. It listens on 127.0.0.1 port 25 by default, but can also run without its own network sockets in inetd mode, where it handles a single SMTP session on standard input / output.
In the string that defines the command that msmtpd pipes each mail to, the first occurrence of %F will be replaced with the envelope from address. Furthermore, all recipients of the mail will be appended as arguments. The command must not write to standard output, as that would mess up the SMTP session.
If the command that the mail is piped to reports an error, this is typically reported as a permanent failure by msmtpd (SMTP server return code 554). The command can optionally signal temporary errors by using return codes defined in sysexits.h, e.g. 75 for EX_TEMPFAIL. These will then be reported as temporary failures by msmtpd (SMTP server return code 451), which means the client should try again later.
Only run msmtpd if you know you need it. Only use a local interface to listen on. Take care to run it with correct user rights and permissions (e.g. use CAP_NET_BIND_SERVICE to bind to port 25 instead of running as root, or use systemd with inetd service capabilities). Be aware that the pipe command will be run as the same user that msmtpd runs as.

OPTIONS

Print version information
Print help
Start single SMTP session on stdin/stdout
Listen on the given IPv6 or IPv4 address instead of 127.0.0.1
Listen on the given port number instead of 25
Pipe mails to cmd instead of msmtp

EXAMPLES

Managing msmtpd with start-stop-daemon
# start msmtpd
start-stop-daemon --start --pidfile /var/run/msmtpd.pid --make-pidfile --chuid msmtpd --background --exec /usr/local/bin/msmtpd -- --command '/usr/local/bin/msmtp -f %F'
# stop msmtpd
start-stop-daemon --stop --pidfile /var/run/msmtpd.pid --remove-pidfile --quiet --signal TERM

SEE ALSO

msmtp(1)

2021-08