How to install Postfix on CentOS?

Postfix is an open-source Mail Transport Agent (MTA), which supports protocols like LDAP, SMTP AUTH (SASL), and TLS. It routes and delivers emails.

You will need to uninstall the sendmail from the server before installing the postfix because sendmail is the default MTA in Redhat/CentOS.
[root@server ~]# yum remove sendmail

Requirement -

i. The server should have correct MX records. 
ii.  Firewall  should be disabled. You can use below command to disable the firewall -
[root@server ~]# service iptables stop
[root@server ~]# service ip6tables stop
[root@server ~]# chkconfig iptables off
[root@server ~]# chkconfig ip6tables off

Installation

Use below command to install postfix - 
[root@server ~]# yum install postfix

Configuration

Open the postfix config file -
/etc/postfix/main.cf

Find the below lines and edit them as shown below -
[root@server ~]# vi /etc/postfix/main.cf
myhostname = your server hostname
mydomain = your domain name
myorigin = $your domain name 
inet_interfaces = all  
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
mynetworks =  add your network range
home_mailbox = Maildir/ 

Start the postfix service - 
[root@server ~]# service postfix start
Starting postfix:                                          [  OK  ]
[root@server ~]# chkconfig postfix on

Testing the postfix -
[root@server ~]# telnet localhost smtp

Check Mail -
Navigate to the user mail directory and check for the new mail - 
[root@server ~]# cd /home/user1/Maildir/new/
[root@server new]# ls

After 'ls' command, you'll get the details of email with date, time, to and from. 
All done! 

Was this answer helpful?

 Print this Article

Also Read

How to perform LAMP installation on CentOS?

LAMP stands for Linux, Apache, MySQL, and PHP. It is nothing but Linux operating system with...

Basic exim commands

1. REMOVE MAILS BY ID - /usr/sbin/exim -v -Mrm (MAIL ID HERE) 2. LIST QUEUED MAILS -...

Daily Useful Linux Commands

Finding the username from provided hosting service name - /script/whoowns domain_name Finding...

Disk Usage Useful Command

Note - You can replace /home with correct '/' drive on your server. 1. Checking the disk usage -...

How to backup and restore large MySQL databases using mysqldump?

1. Backup database:#mysqldump -u username -p[username_password] databasename >...