How to Configure Postfix as a Send-Only SMTP Server on Ubuntu
A mail server is handy when you own a website or web application and want to send transactional emails to users. Postfix is a free and open-source Mail Transfer Agent used to send and receive emails. Postfix is free, so you don’t need to rely on third-party service providers like Sendgrid or Pepipost. You can easily install and configure Postfix to send emails through your local application.
This post will show you how to install and configure Postfix as a Send-Only SMTP server on Ubuntu. This procedure is compatible with Ubuntu 20.04 and Ubuntu 22.04.
In This Article
- Setup Hostname
- Install Postfix
- Configure Postfix as a Send-Only SMTP Server
- Verify Postfix Server
- Forward System Mail
Step 1 – Setup Hostname
Before starting, you must set up a fully qualified hostname on your server. You can set it up with the following command:
hostnamectl set-hostname email.linuxbuz.com
Next, edit the/etc/hosts file and add the following line:
Add the following line:
Save and close the file when you are finished.
Step 2 – Install Postfix
The simplest and easiest way to install Postfix is to install a mailutils package to your system.
You can install the mailutils package using the following command:
apt-get install mailutils -y
During the installation, you will be asked to select the type of mail configuration as shown below:
Select Internet Site and hit Enter. You will be asked to provide your mail name as shown below:
Provide your domain name and hit Enter to finish the installation.
Next, check the status of Postfix using the following command:
systemctl status postfix
Step 3 – Configure Postfix as a Send-Only SMTP Server
Next, you must configure Postfix to send an email from the local host. You can configure it by editing the Postfix main configuration file:
Change the following line:
inet_interfaces = loopback-only
Save and close the file, then set the hostname directly in the Postfix configuration file using the following command:
postconf -e "myhostname = email.linuxbuz.com"
Next, verify your configured domain name using the following command:
You should get the following output:
mydomain = email.linuxbuz.com
You must verify the default domain name appended to sender and recipient addresses.
myorigin = /etc/mailname
Next, display the content of the above file using the following command:
You should see your domain in the following output:
Finally, restart the Postfix service to apply the changes:
systemctl restart postfix
You can also check the status of Postfix with the following command:
systemctl status postfix
● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2021-08-15 12:52:44 UTC; 9s ago Process: 4230 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 4230 (code=exited, status=0/SUCCESS) Aug 15 12:52:44 ubuntu2004 systemd: Starting Postfix Mail Transport Agent... Aug 15 12:52:44 ubuntu2004 systemd: Finished Postfix Mail Transport Agent.
Step 4 – Verify Postfix Server
At this point, Postfix is installed and configured as a send-only SMTP server. Now, it’s time to send emails to an external email account.
You can use the following command to send a simple email to the external email address:
echo "This is the body of the email" | mail -s "This is the subject line" [email protected]
You should now see the message in your Inbox or Spam folder.
Step 5 – Forward System Mail
Forwarding all system mail to your external email address is a good idea. This section will set up email forwarding for the root user.
Edit the /etc/aliases file:
Find the following line:
And replace it with the next line:
root: [email protected]
Save and close the file, then run the following command to apply the changes:
Now, verify email forwarding by sending an email to the root user:
echo "This new email" | mail -s "This is new email" root
If everything is fine, you should receive an email at your external email address.
Congratulations! You have successfully set up a Postfix as a send-only SMTP server. You can now use this setup with your application to notify your users via email. Give it a try on your VPS from Atlantic.Net!
Get a $250 Credit and Access to Our Free Tier!
Free Tier includes:
G3.2GB Cloud VPS a Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year