October 13, 2023

Setting Up and Configuring an SMTP Server with Postfix on Ubuntu

Sanjana Kumari

Postfix is a popular mail transfer agent (MTA) that is widely used for routing and delivering email on Unix-like operating systems. Setting up Postfix on your Ubuntu server allows you to send and receive emails efficiently. In this comprehensive guide, we will walk you through the process of installing and configuring Postfix on an Ubuntu system.

SMTP (Simple Mail Transfer Protocol) is a protocol that allows mail servers to transmit, receive, and relay outgoing emails between senders and receivers. This post will teach you How to Install and Configure an SMTP Server Using Postfix on Ubuntu. Without it, email communication would be impossible because SMTP determines which servers will receive your relay messages. This instruction is also useful for those who are getting ready to install Postfix Ubuntu 22.04. A mail server is an umbrella term for a system that collects, processes, and serves email. Every email communication, like a letter, passes through the mail server before being delivered.

You could only send emails to people whose email addresses matched your domain, such as Gmail.com to Gmail.com, in the absence of servers. Because it deals with email delivery, an SMTP email server will have an address or addresses that your mail client or program can use.

Postfix, a mail transfer agent (MTA), is used to send and receive email. It can be configured to only enable local applications to send emails. This is useful when a third-party email service provider won’t let you send email notifications from your apps on a regular basis, or when you have a lot of outgoing traffic. It keeps the necessary features while being a lighter choice for running a full-fledged SMTP server.

How Does an SMTP Server Operate?

SMTP is an application that mail servers use to transmit, receive, and relay outgoing email messages between senders and recipients. An email is sent over a network using a technical mechanism known as Simple Mail Transfer mechanism (SMTP). Similar to other networking protocols, SMTP permits data transfer between PCs and servers regardless of the hardware or applications being used on top of them. Standardizing email transmission over SMTP enables widespread email delivery, much like standardizing envelope addressing makes it possible for the postal service to operate.

SMTP is a mail delivery protocol and not a mail retrieval protocol. After delivery by the postal service, the letter must still be picked up by the receiver from the mailbox. In a manner similar to this, SMTP transmits emails to email providers’ mail servers, but separate protocols are used to retrieve those emails from the mail servers so that recipients can view them.

Each networking protocol has a specific process for exchanging data. SMTP describes a procedure for data transmission between an email client and a mail server Ubuntu. An email client is a computer program or web application that a user uses to access and send emails. Users use specialized computers for sending, receiving, and forwarding emails; they do not interact directly with mail servers.

What makes an SMTP server useful?

You have already read about the Top 15 Linux Mail Servers and comprehended how the Ubuntu mail server functions. When communicating via email, it is crucial to send emails securely and as soon as possible to your recipient. Unfortunately, if there isn’t an SMTP server, your email won’t get to the target destination. When you click Send, the email transforms into a string of code that is then transmitted to the SMTP server, which decodes the code to convey the message. If the SMTP server didn’t process the message, it wouldn’t translate. The SMTP server additionally verifies if a working account is being used to send the email. The email server confirms that the message was sent from an active or functional email account in order to safeguard your mailbox from spam email.

If an email cannot be delivered, the SMTP protocol ensures that it will bounce back to the sender and notify them that either their email address is invalid or that the recipient’s email server has rejected the email for whatever reason. You must have your own email server whether your business is tiny, medium-sized, or enormous. So stick with us as we go over every step needed to install and configure a Postfix SMTP server on Ubuntu.

ALSO READ : How to Turn on Wi-Fi on Kali Linux

Ubuntu 20.04 and 22.04 SMTP Server Installation and Configuration

Your ability to freely design or define your own policies in order to accomplish your objectives is made feasible by having your own email servers. These advantages guarantee that you can manage your servers more skillfully and efficiently. Let’s go with setting up your own SMTP server on Ubuntu 20.04 and 22.04 by reading this guide.

Setup Postfix

As usual, update your server by issuing the following command before beginning the installation process:

sudo apt update

To install Postfix, type:

sudo apt installpostfix

The default choice is Internet Site. That is the recommended choice for your use case, so press TAB and then ENTER. Tap OK and then press TAB to enter if you can see the descriptive text.

Ubuntu’s smtp server installation is complete in this manner. Start the configuration procedures now.

Configure Postfix

You must configure Postfix in order to send and receive emails from the exact running server. In order to accomplish this, the server will be localhost, and Postfix must be configured to only listen on the loopback interface. This interface serves as a virtual network for servers to communicate with one another.

To make the necessary adjustments, edit the main Postfix configuration file (main.cf), which is stored in etc/postfix. Make a backup of the file first, though, before making any modifications. You should possibly utilize the original.

sudo cp/etc/postfix/main.cf/etc/postfix/main.cf.backup

Now, run the command below to access the file.

sudo nano/etc/postfix/main.cf

Then, find the following lines:

. . . mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all . . .

To continue, set the value of the inet_interfaces setting to loopback-only:

. . . mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only . . .

When finished, save and close the file. The Postfix server can now be started to implement changes. So, to enable it, issue the following command:

sudo systemctl enable postfix

sudo systemctl start postfix

A SMTP server test

It seems sense to check that Postfix is operating properly now that the Ubuntu SMTP server has been successfully installed and configured. You can obtain the confirmation by doing this via telnet.

sudo telnet Your IP

Use the following command to install Postfix’s mail-sending packages if you observe that localhost is connected.

sudo apt install bsd-mailx

When the installation is finished, run the command below to use the tool which enables you to finish up the setup SMTP server Ubuntu process.

sudo mailx -r test@operavps -s ‘’SUBJECT’’ [YOUR-EMAIL-ADDRESS]

Replace your actual email address to have a real test.

Set-Up Firewall

Since the firewall might restrict Postfix, use the commands below to allow the Postfix functions in the firewall.

sudo ufwallow ‘’Postfix’’

sudo ufw allow ‘’Postfix SMTPS’’

sudo ufw allow ‘’Postfix Submission’’

You’re done, and you may now utilize a Postfix send-only email server.

Switch on SMTP encryption

You are prepared to enable SMTP encryption at this point. To achieve this, you can ask Let’s Encrypt for a free TLS certificate for your domain. Last but not least, you’ll set up Postfix to use it while sending emails.

Run this command because Ubuntu already has Certbot in its default package repository:

sudo apt install certbot

When prompted, enter Y to indicate your agreement. As part of the preliminary server configuration outlined in the prerequisites, you installed ufw, the straightforward firewall. You need to configure it to accept HTTP port 80 in order to complete domain verification. Run the following command to make it active:

sudo ufw allow 80

Once the output says the port is open, you are ready to get a certificate by running the command below:

ALSO READ :Unlocking Windows VPS Potential: Performance Optimization

Before executing the program, don’t forget to substitute your-domain with your own. Enter your email address when asked to do so..

sudo certbot certonly –standalone –rsa-key-size 4096 –agree-tos –preferred-challenges http -d your_domain

Your private key file and certificate were previously stored under /etc/letsencrypt/live/your_domain. You now possess your certificate. Edit main.cf by opening it:

sudo nano /etc/postfix/main.cf

Then, find the following part:

The following TLS parameters are used: smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level=may

smtp_tls_session_cache_database = btree:$data_directory/smtp_scache, smtp_tls_security_level=may, and smtp_tls_CApath=/etc/ssl/certs

Replace your-domain with your domain in the following code to update Postfix’s TLS settings.

When you’re done, save and shut the file. Use the command below to restart Postfix and implement your changes.

sudo systemctl restart postfix


You learnt how to install and configure a Postfix SMTP server on Ubuntu in this tutorial. If you carefully follow the instructions above, your SMTP server can be installed and configured without any issues. The dashboard has an analytics section, there are no SMTP failures, emails go to your inbox rather than your spam folder, and managing your email servers doesn’t take up a lot of time or resources. An SMTP server would be practical, simple, and advised if you needed to manage bulk emails.

stalling and configuring an SMTP server with Postfix on Ubuntu is a crucial step for setting up a reliable email infrastructure. With this guide, you’ve learned how to install Postfix, perform basic configurations, secure your server, and ensure it operates effectively. Your server is now ready to handle email communication efficiently.



Popular Blog Posts