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
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
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.
i got it. thank you
You’re welcome.
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
Look at this page: http://www.linuxlasse.net/linux/howtos/Blacklist_and_Whitelist_with_Postfix
This should answer your question.
thank you so much
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.
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.
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.
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.
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.
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.
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.