The first thing to do is to update your Ubuntu system.
$ sudo apt-get update
$ sudo apt-get upgrade
To install OpenSMTPD, we need to first add the OpenSMTPD package repository to the system. Run the following commands to add the repository:
$ sudo apt-get install -y wget
$ echo "deb http://www.opensmtpd.org/cgi-bin/cvsweb.cgi/~checkout~/OpenBSD/src/usr.sbin/smtpd/ smtpd/" | sudo tee -a /etc/apt/sources.list.d/opensmtpd.list
$ wget -O- https://opensmtpd.org/archives/opensmtpd.gpg.clustered | sudo apt-key add -
$ sudo apt-get update
Next, run the following command to install OpenSMTPD:
$ sudo apt-get install opensmtpd
After installation, we will configure OpenSMTPD.
First, open the OpenSMTPD configuration file:
$ sudo nano /etc/smtpd/smtpd.conf
The configuration file will look something like this:
# Sample smtpd.conf(5) file.
#
# To enable this configuration file remove the .sample extension.
pki mycerts {
certificate "/etc/ssl/private/mycert.pem"
key "/etc/ssl/private/mykey.pem"
}
table aliases {
root: postmaster
}
listen on all tls pki mycerts
auth-optional
accept from any for domain <mydomain.com> virtual <mydomain.com> \
alias <aliases> deliver to mbox
Replace <mydomain.com>
with your own domain name.
Next, add the following line to the end of the configuration file:
deliver to maildir "/var/mail/%{dest.domain}/%{dest.user}"
This will configure OpenSMTPD to use Maildir as its mail delivery method.
Finally, restart OpenSMTPD for the changes to take effect:
$ sudo systemctl restart smtpd
To test OpenSMTPD, create a test email:
$ echo "Test email body" | mail -s "Test email subject" test@example.com
Replace test@example.com
with your own email address.
Check the mail log to see if the email was delivered successfully:
$ sudo less /var/log/mail.log
You should see a log entry that looks something like this:
smtpd[1234]: <example.com> from=<user@example.com> to=<test@example.com> ...
Congratulations! OpenSMTPD is now installed and configured on your Ubuntu server.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!