OpenSMTPD as MTA relay on OpenBSD 5.1

On my servers, I don’t want mail alerts to stay locally but to be forwarded to root@. There are two ways to do so: either put a .forward file in the home of service user that may send e-mail or configure the local MTA to forward email to root@. Depending on your local MTA, this can be more or less complicated. Usually, I end using sSMTP.

But this time, I want to do it using OpenSMTPD. Here’s how.

First of all, do not expect too much from this article, I’m just concatenating EXAMPLES from smtpd(8) and smtpd.conf(5). Then, since OpenBSD is installed:

# pkill sendmail # vi /etc/mailer.conf sendmail /usr/sbin/smtpctl send-mail /usr/sbin/smtpctl mailq /usr/sbin/smtpctl makemap /usr/libexec/smtpd/makemap newaliases /usr/libexec/smtpd/makemap # vi /etc/rc.conf.local (…) sendmail_flags=NO smtpd_flags="" # vi /etc/mail/smtpd.conf listen on lo0 map "aliases" { source db "/etc/mail/aliases.db" } map secrets { source db "/etc/mail/secrets.db" } accept for all relay via tls auth "secrets" # touch /etc/mail/secrets # chmod 640 /etc/mail/secrets # chown root:_smtpd /etc/mail/secrets # echo " username:password" > /etc/mail/secrets # makemap /etc/mail/secrets # /etc/rc.d/smtpd start smtpd(ok)

The only “problem” here is that all mail will have an envelope containing the server’s hostname ; which may/will lead to NDR such as “550 (…) Recipient address rejected: Domain not found”. The feature for masquerading e-mail is not yet implemented in OpenSMTPD. But will probably be when OpenBSD 5.2 is released.

Author: Joel Carnat

@work Technical Architect and SysAdmin ; @home OpenBSD and FOSS, Karate, Kobudō, Jōdō, Bodyweight workout, Photography & Music

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.