16

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.

8bitme
  • 263

1 Answers1

19

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

myorigin = localhost
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/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.