Does anyone know what needs to be configured for postfix so that emails can be sent to localhost and received from localhost?

e.g. send an email to user1@localhost will:

  • result in user1 receiving an email in their mail client (configured to receive local emails)
  • user1 can then respond to user2@localhost
  • Both user1 and user2 are configured on the same machine i.e. if there is no internet/network connection both these users can still send and receive to/from each other.

The reason I ask is because I want to set this up for a dev environment so that I can test an application I am developing.

1 Answer 1


You can use a /etc/postfix/main.cf file like this one:

myorigin = localhost
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = [::ffff:]/104 [::1]/128
relayhost =

Short explanation of the parameters:

  • myorigin: this is the host name that the postfix program will use when sending email.
  • mydestination: this is the host name(s) that the postfix server considers itself able to receive mail for - you want localhost and any hostname on the machine (look into /etc/hosts) to be listed here.
  • mynetworks lists the "trusted" IP addresses from which postfix accepts any email
  • relayhost: if not empty, postfix will forward all emails to this server for delivery; you want this to be empty for local delivery to work.

You might want to have a look at http://www.postfix.org/BASIC_CONFIGURATION_README.html for a more authoritative explanation.

  • This worked on our rhel 5.8 servers, but we had to use our DNS servers in /etc/resolv.conf
    – lazlinux
    Commented Jun 5, 2013 at 16:08
  • Should I change mynetwork if I am using oopendkim?
    – Trect
    Commented Jun 29, 2019 at 2:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .