Install and Configure Postfix Mail Server on AlmaLinux 8

In this guide, we want to teach you to Install and Configure Postfix Mail Server on AlmaLinux 8.

Postfix is a state-of-the-art message transport agent (MTA), aka SMTP server, which serves two purposes.

  • It’s responsible for transporting email messages from a mail client/mail user agent (MUA) to a remote SMTP server.
  • It’s also used to accept emails from other SMTP servers.

Postfix was built by Wietse Venema who is a Unix and security expert. It’s easy to use, and designed with security and modularity in mind, with each module running at the lowest possible privilege level required to get the job done. Postfix integrates tightly with Unix/Linux and does not provide functionalities that Unix/Linux already provides. It’s reliable in both simple and stressful conditions.

Postfix was originally designed as a replacement for Sendmail – the traditional SMTP server on Unix. In comparison, Postfix is more secure and easier to configure. It is compatible with Sendmail, so if you uninstall Sendmail and replace it with Postfix, your existing scripts and programs will continue to work seamlessly.

Steps To Install and Configure Postfix Mail Server on AlmaLinux 8

To install Postfix on your server, you need to log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide the Initial Server Setup with AlmaLinux 8.

Now follow the steps below to complete this guide.

Install Postfix on AlmaLinux 8

First, you need to update your local package index with the following command:

sudo dnf update -y

Then, run the command below to check whether Sendmail is installed or not:

rpm -qa | grep sendmail

If you didn’t get any output that means you don’t have Sendmail installed and you can keep going.

If you have Sendmail installed on your server, you need to remove it with the following command:

sudo dnf remove sendmail*

At this point, you can check whether you have Postfix installed on your server or not:

rpm -qa | grep postfix

Next, if you don’t have it installed on your server, use the command below to install Postfix on AlmaLinux 8:

sudo dnf install postfix

Configure Postfix on AlmaLinux 8

At this point, you need to make some configuration changes to the Postfix main configuration file.

First, open the file with your favorite text editor, here we use vi:

sudo vi /etc/postfix/main.cf

At the file, uncomment the myhostname line and set it to your hostname:

myhostname = your-hostname

Uncomment and set the domain name at the line below:

mydomain = your-domain-name

Also, uncomment the line below:

myorigin = $mydomain

Uncomment and Set ipv4 at the following line:

inet_interfaces = all

Set the line below to all:

inet_protocols = all

Comment on the following line:

#mydestination = $myhostname, localhost.$mydomain, localhost,

Uncomment and add IP range at the following line:

mynetworks = 192.168.1.0/24, 127.0.0.0/8

Finally, uncomment the line below:

home_mailbox = Maildir/

When you are done, save and close the file.

At this point, you need to start and enable your Postfix Mail server with the following commands:

# sudo systemctl enable postfix
# sudo systemctl restart postfix

Verify that your Postfix service is active and running on AlmaLinux 8:

sudo systemctl status postfix
Output
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor pre>
   Active: active (running) since Wed 2022-08-31 05:21:31 EDT; 14s ago
  Process: 39752 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCE>
  Process: 39750 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, >
  Process: 39745 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, stat>
  Process: 39743 ExecStartPre=/usr/sbin/restorecon -R /var/spool/postfix/pid/ma>
 Main PID: 39820 (master)
    Tasks: 3 (limit: 11384)
   Memory: 5.1M
   CGroup: /system.slice/postfix.service
           ├─39820 /usr/libexec/postfix/master -w
           ├─39821 pickup -l -t unix -u
           └─39822 qmgr -l -t unix -u

Testing Postfix

At this point, you need to create a new user for testing. To do this, run the command below:

sudo useradd postfixtester

Add a password for your user:

sudo passwd postfixtester

When you are done, you will get the following output:

Output
passwd: all authentication tokens updated successfully.

After adding the user let’s check the server access using telnet. If you don’t have telnet installed on your server, use the command below to install telnet on AlmaLinux 8:

sudo dnf install telnet

Then, run the following command:

telnet localhost smtp

Once you have successfully done the configuration you will get the following output:

Output
Trying ::1…
Connected to localhost.
Escape character is '^]'.
220 your-hostname ESMTP Postfix

Start your transaction by writing the below command:

ehlo localhost
250-hostname
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Once you get 250 DSN you can send mail.

Finally! You have postfix installed and emails getting sent! You are all set to use your server as your private SMTP server to send emails.

For more information, you can visit the Postfix Documentation page.

Conclusion

at this point, you learn to Install and Configure Postfix Mail Server on AlmaLinux 8.

Hope you enjoy it.

You may be interested in these articles too:

Install HomeBrew on AlmaLinux 8

Install and Use PostgreSQL on AlmaLinux 8

Set up Rust Programming Language on AlmaLinux 8

Install and Secure Wekan Server on AlmaLinux 8

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Stay informed and not overwhelmed, subscribe now!