SMTP: Configure a MTA to forward (relay) email through a smart host.

Share this link

In order to test this configuration, you will need to set up a DNS server and configure a central mail server (here at 192.168.1.1) to receive mails.

Remove the sendmail package (sendmail is more complicated to configure):

# yum erase sendmail

Install the postfix package:

# yum install -y postfix

Activate the postfix service at boot:

# chkconfig postfix on

Start the postfix service:

# service postfix start

Let’s assume that your local server is called server.example.com on the 192.168.1.0/24 network and your smart host (outgoing mail gateway) is at 192.168.1.1.
Edit the /etc/postfix/main.cf file and change the following directives:

myhostname = server.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relayhost = 192.168.1.1

Check the syntax:

# postfix check

Check the non-default configuration:

# postconf -n

Reload the postfix configuration:

# service postfix reload
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
14 comments on “SMTP: Configure a MTA to forward (relay) email through a smart host.
  1. papaand1 says:

    Hi,
    thank you so much for those tutos, but here i am a little bit confused.
    what’s the hostname or ip address for central mail server?
    what’s the hostname or ip address for the smart host?
    and the main.cf file in which host are we supposed to edit it?
    thank a lot

    • CertDepot says:

      The IP address for the central mail server is 192.168.1.1 in the tutorial. Also, the central mail server and the smart host are the same server. The main.cf file to edit is the one on the machine that needs to send mails.

  2. papaand1 says:

    i got it. thank you

  3. papaand1 says:

    HI,
    I have one question for you. if i want to block a client with 192.168.1.20 for example to send email how am i going to proceed?
    thank you

  4. papaand1 says:

    thank you so much

  5. TexasJosh says:

    Hi,
    I just stumbled upon this article when I searched postfix configuration file setups. I have a more general question here: do I have to have a private domain name and a private server name to be able to use your tutorial here? By the way, I don’t own a domain name and I don’t have a server at home. I can send email out through gmail relay only from command line, but not receive emails.
    Thanks.

    • CertDepot says:

      Mail reception goes with DNS and MX field configuration. So you need to own a domain name to be able to receive emails through Postfix or any other software.

    • Lisenet says:

      Just to add something, you do not have to have a private domain nor a private server to be able to use the tutorial, if you send emails from the computer where the Postfix server is configured, and relay to your Gmail mailbox.

      For example, this tutorial would work on your laptop if you were to install Postfix on it and configure relay to your Gmail account. You would be able to send emails from your PC to Gmail via Postfix. It is not clear on what exactly you want to achieve here, therefore more details would be helpful.

      • TexasJosh says:

        I think the author has answered my question. Thanks.

        This is a common issue with the online posting without editors looking over for kosherness. There are lots of hidden assumptions on these tutorials not known to a laymen, but obvious to the author. Say for example, the author could at the beginning of the tutorial state that this tutorial is to show you how to setup Linux to send and receive emails on command line using a Linux app called postfix. But to be able to receive and read email on command line, you must own a domain name (fee-based) and a server (purchased). Blah, Blah, Blah.

        On the other hand, there are lots of different mail command apps (mailutils, mutt, …) out there to install before you can actually type on the command line to send and receive emails. I asked one of my colleagues who uses RHEL for more than 15 years if he knows the command line email. The feed back is negative.

        I currently can send the email out from the command line with my chip design data as an attachment using mutt. I want to be able to read and retrieve email on the command line as well to save me time. However I cannot receive and read email on the command line with current postfix setup on my RHEL box once the data comes back. I have to use gmail to read income email and download attachment and then save the file to design data location. This is why I was asking what other stuff I need (like domain name and server) to enable me to reconfigure the postfix to receive email on the command line.
        Thanks.

        • Sam says:

          Just a thought, to read the emails, through gmail, is the setting correct through the encryption / 2 factor authentication. I imagine this can be difficult.

        • Lisenet says:

          I think that the content of this blog post reflects the heading “Configure a MTA to forward (relay) email through a smart host” perfectly.

          What I’m saying is that the article is about configuring an MTA to forward emails. I understand that you may be interested in a configuration which allows you to receive emails, however, this was never the scope of the article.

          Now, you expressed concerns that to be able to receive and read email on a command line, you must own a domain name (fee-based) and a server (purchased). This is incorrect. You can receive and read emails without having to purchase a domain or rent a server. You can use Gmail for example, which requires no domain purchase nor a server.

        • Lisenet says:

          If you use Gmail, then Postfix works as a relay. Your mailbox is hosted on Gmail. When an email “comes back”, it goes to Gmail, not Postfix. To be able to retrieve incoming GMAIL messages you need a POP/IMAP client, but not Postfix.

          You can configure all the above on your computer without having to purchase a single domain or to buy a server. However, if you don’t want Gmail but prefer to host your own email server, then yes, you need to have a domain and a place to run it. I hope this clarifies things.

Leave a Reply

Upcoming Events (Local Time)

There are no events.

RHCSA7: Task of the day

Allowed time: 10 minutes.
Create an EXT4 file system mounted under /vol based on a logical volume of 100MB.
Reduce the size to 60MB.

RHCE7: Task of the day

Allowed time: 10 minutes.
Configure a system to forward all email to a central mail server at 192.168.1.1 (change the IP address accordingly).

Follow me on Twitter

Poll for favorite RHEL 7 book

What is your favorite RHEL 7 book to prepare RHCSA & RHCE exams?

View Results

Loading ... Loading ...

Poll for most difficult RHCSA 7 topic

What do you think is the most difficult RHCSA 7 topic?

View Results

Loading ... Loading ...

Poll for most difficult RHCE 7 topic

What do you think is the most difficult RHCE 7 topic?

View Results

Loading ... Loading ...