MSMTPD(1) | General Commands Manual | MSMTPD(1) |
msmtpd - A minimal SMTP server
msmtpd [option...]
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.
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.
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
2018-08 |