How To Install and Configure a Postfix Mail Server


How To Install and Configure a Postfix Mail Server


Postfix is a prevalent open-source Mail Transfer Agent (MTA) that can be utilized to course and convey email on a Linux framework. It is evaluated that around 25% of open mail servers on the web run Postfix.


Keeping in mind the end goal to take after this guide, you ought to approach a non-root client with sudo benefits. You can take after our Ubuntu 16.04 beginning server setup manual for make the fundamental client.

So as to legitimately design Postfix, you will require a Fully Qualified Domain Name pointed at your Ubuntu 16.04 server. You can discover help on setting up your area name with DigitalOcean by following this guide. If you anticipate tolerating mail, you should ensure you have a MX record indicating your mail server also.

There are various reasons why you would need to set up your own Linux mail server. You are in an organization that has requirements for a more dependable mail solution than anything the opposition brings to the table. Your organization has an extremely restricted IT spending plan and can’t bear the cost of Exchange or the CALs included. Or, then again, perhaps you simply need to extend your collection of Linux aptitudes. Notwithstanding why knowing how to set up a mail server on a Linux machine is an essential assignment any Linux administrator should know. Also, obviously, in the soul of everything Linux, there are various ways you can go with a specific end goal to get that mail server up and running. Throughout the years I have observed Postfix be one of the least demanding to set up and most solid to convey in many associations.

I have sent Postfix servers in single-client conditions and up to three hundred client situations. It works like a champ regardless of the size. Furthermore, in this article, I will demonstrate to you best practices to understand that Postfix server up and running in the blink of an eye.

NOTE: For the motivations behind this article I will be introducing Postfix on a Ubuntu Server (the discharge is 10.04 but can be connected to 9.10), and I will utilize the fake space You will, obviously, need to substitute your particular space (which must be an FQDN).


You will be stunned at the fact that it is so easy to introduce the Postfix mail server. You should simply take after these means:

1) Open up a terminal window (or, if you are utilizing a GUI-less server simply sign in). 

2) Issue the summon sudo adept get introduce postfix. 

That is it! Obviously, contingent on the present condition of your distribution, the establishment might need to introduce some conditions. But this will happen consequently for you. The establishment will also naturally begin the Postfix daemon for you. So when the establishment is finished you can test to ensure you can interface with your Postfix server with the charge:

telnet localhost 25

You should see something like this:


Associated with

Escape character is ‘^].’

220 localhost.localdomain ESMTP Postfix (Ubuntu)

Presently you may need first to ensure you can also associate with your space similarly with the summon:

telnet 25

Obviously, you will utilize your own particular FDQN in the above summon (rather than Ideally, you will see a similar yield you did when you utilized localhost. If not, you should check to ensure your area is indicating your server or that port 25 movements can get to your server from your switch, switch, or firewall. Those issues are past the extent of this article, however.

Presently the time has come to begin arrangement.

Designing Postfix

The Postfix mail server has one principle arrangement document/and so forth/postfix/ This is the place you will do the bulk of your setups. Open this document up in your most loved content tool (mine is Nano) and search for the accompanying segment:

myhostname =

alias_maps = hash:/and so forth/nom de plumes

alias_database = hash:/and so forth/nom de plumes

myorigin =/and so forth/mailname

mydestination =

relayhost =

mynetworks =

mailbox_command = procmail – a “$EXTENSION”

mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

This is the area of the setup record you should concentrate on. What’s more, trust it or not, there isn’t much to do. The following are the segments you have to arrange:

myhostname: This is the hostname of your machine. But don’t put the full hostname. If your machine hostname is you will just utilize mydomain.

mydestination: This parameter specifies what goals this machine will convey locally. The default is:

mydestination = $myhostname localhost.$mydomain localhost

You could also utilize something like what I have utilized as a part of the past (for effortlessness’ purpose): mydomain localhost.localdomain localhost

This ring is to you. Whichever way will work; but the last line will maintain a strategic distance from mailloops.

mynetworks: This line is somewhat trickier. This passage will characterize approved goals that mail can be handed-off from. You would feel that including your subnet here would work. Sometimes that is the situation; sometimes not. You could run with a mynetworks section that resembles:

mynetworks =

The above passage is a protected section and characterizes neighborhood machines as it was.

You could also have a passage that resembles:

mynetworks =

The above passage would approve nearby machines and your inside system addresses.

I have found, however, that the above passages will make issues with handing-off due always showing signs of change dhcp addresses. On account of this I have utilized the accompanying, particular passage which will stay away from this issue:

mynetworks = [::ffff:]/104 [::1]/128

Presently, if your mail server serves up mail to your whole space, you should add another passage to that area above. That section is:

mydomain =

Once more, as in all arrangements over, the will be substituted with your genuine area.

Presently, spare that arrangement record and restart your mail server with the order:

sudo/and so on/init.d/postfix reload

Your mail server ought to be up and running.


Since this is a Linux mail server, you should ensure you have a client name that relates to each email address you require. If your server has a GUI you can simply utilize the GUI device for this. If your server is a GUI-less server you can make clients with the charge:

sudo useradd – m USERNAME

Where USERNAME is the genuine name of the client. The following stage is to give the username a secret word with the charge:

sudo passwd USERNAME

Once more, where USERNAME is the genuine username. You will be provoked to enter the new secret word twice.

Test Your Server

Go to an outer source and send an email to one of your clients on your new mail server. To see whether it worked you can sign on as that client and utilize the Alpine summon line email peruser (you may need to introduce that first with the charge sudo able get introduce high). If you don’t see an email show up you will need to check the log record/var/log/mail.err which should give you some intimations with respect to what is turning out badly.

Last Thoughts 

Setting up a mail server has never been less demanding. Not exclusively is Postfix an easy to set up server, it’s also easy to control, and in addition easy to investigate. I trust you have as simple a period as I have had setting up and overseeing Postfix. Next time around, we’ll add a couple of elements to this Postfix server.

Share this post