The first step to setting up an email server is having an SMTP server. SMTP sends and receives email. Whether we want a full email server or just the ability to send automated email by script, we will need SMTP, and Postfix is the standard SMTP server.
Here let's set a server up. Note that our goal is to be able to send emails from our server. If you want a full email server, this is the first step, and we will address the rest later.
Whatever VPS (Vultr or Frantech) or IPS you are using, it is a very common policy to automatically block all email ports by default. VPS providers do this to prevent spammers from using their services.
If you want to start an email server, therefore, go to your VPS's site
and open a ticket or make a request to open up email ports, notably port
25. This is a
simple process that requires nothing too special. One of the wagies at
your VPS will kindly do the needful and open your ports for you. Note
that this is not the same as unblocking a port with ufw,
which still needs to be done for SMTP to work.
ufw allow 25,587 proto tcp
First, we install Postfix and also
mailutils, which comes with some
mail programs we will use.
apt install -y mailutils postfix
Installing Postfix for the first time will give us some graphical options.
When asked for a "mail name", give your full domain name from which you would like mail to come and go, e.g. example.org or landchad.net
Test the email
That is actually all you need to have set up to have a barebones,
send-only email server. We can test our server by running a
echo "Hi there. This is the text." | mail -s "Email from the server" firstname.lastname@example.org
This type of command is sufficient enough for your server to send mail.
Note that we use the
-s option to specify the email's subject while
we pipe the email content into the
Do you see your message?
If you sent the above test message to an account on Gmail or another major email provider, there is very high chance of the message you sent above being marked as spam or not appearing at all!
Don't worry, we'll take care of that in the next two articles where we set up rDNS with your VPS provider and various other DNS records to validate the emails you send.