The following tutorial shows how to setup a local postfix installation on a
ubuntu based OS that accepts mail from 127.0.0.1
and relays every mail that
it receives to the local root account.
This setup is very useful in e.g. a development environment if you are involved
in applications with send email functionality.
Optionally you can install mutt command line email client to read the email.
Install Postfix
$ apt-get install postfix
$ dpkg-reconfigure postfix
Now we need to configure postfix to route all incoming email to the local root
account. During the previous step dpkg-reconfigure postfix
you have
configured postfix to forward all mail for the local root user to another local
unix user.
$ postconf -e 'home_mailbox = Maildir/'
$ postconf -e 'inet_interfaces = 127.0.0.1'
$ postconf -e 'virtual_alias_maps = regexp:/etc/postfix/virtual'
$ postconf -e 'virtual_alias_domains ='
$ echo '/.*/ root' > /etc/postfix/virtual
$ postmap /etc/postfix/virtual
$ service postfix restart
Most of the above configuration settings are taken from this site. You can try sending an email using telnet like this (hit enter after every line):
$ telnet 127.0.0.1 25
HELO some.server.localhost
mail from: some_senders@email.address.com
rcpt to: any_email_adress@willdo.com
data
To: any_email_adress@willdo.com
From: some_senders@email.address.com
Subject: This is a test email
This is a body text
.
You should see a lot of 250 2.x.x Ok
responses. Quit telnet and check the
logs if the email was received by the local postfix installation:
$ tail /var/log/mail.log
Installing mutt
If you follow these steps you will install mutt, a command line email client so you are able to read the messages that you are sending to yourself :-).
$ apt-get install mutt
We configured postfix to use the popular Maildir format instead of the default mbox format. Maildir is better since it does not suffer of race condition issues that mbox has because each email is stored in it’s own file.
Create a file .muttrc
in the users $HOME
directory with the following
contents:
$ cat ~/.muttrc
set folder="~/Maildir"
set mask="!^\.[^.]"
set mbox="~/Maildir"
set record="+.Sent"
set postponed="+.Drafts"
set spoolfile="~/Maildir"
Now you should be able to open mutt
and see the email you send yourself
earlier. Take your time to explore and learn mutt.