$ doas touch /etc/mail/secrets
$ doas chmod 640 /etc/mail/secrets
$ doas chown root:_smtpd /etc/mail/secrets
$ doas echo "label username:password" > /etc/mail/secrets
smtpd
2022-03-27
Configure smtpd(8) to relay outgoing mail to a remote SMTP server as follows:
Create the file /etc/mail/secrets
:
$ doas touch /etc/mail/secrets
$ doas chmod 640 /etc/mail/secrets
$ doas chown root:_smtpd /etc/mail/secrets
$ doas echo "label username:password" > /etc/mail/secrets
username
and password
are the credentials for accessing the remote SMTP
server, and label
is an identifier for the username-password combination. It
can be chosen arbitrarily and is used in smtpd.conf
(see below). Since the
credentials are stored in plain text, restrictive permissions are set for the
secrets
file.
Replace the default content of /etc/mail/smtpd.conf
with the following:
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local" mbox alias <aliases>
action "relay" relay host smtp+tls://label@smtp-server:port auth <secrets>
match for local action "local"
match for any action "relay"
label
is the corresponding label from the secrets
file, smtp-server
is
the URL of the remote SMTP server, and port
is the mail submission port
(default: 587).
Verify that the configuration is syntactically correct:
$ doas smtpd -n
configuration OK
Restart smtpd
:
$ doas rcctl restart smtpd
smtpd(ok)
smtpd(ok)
Test the configuration by sending an e-mail using mail(1):
$ echo "body" | mail -s "subject" email-address
Forward outgoing mail to a remote SMTP server by Roman Zolotarev.