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.


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.

|improve this answer|||||
  • This worked on our rhel 5.8 servers, but we had to use our DNS servers in /etc/resolv.conf – lazlinux Jun 5 '13 at 16:08
  • Should I change mynetwork if I am using oopendkim? – Tessaracter Jun 29 '19 at 2:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.