Most of programs will not accept an email using just @localhost as domain.
So, edit /etc/hosts
file to make the domain localhost.com point to your machine, including this content to the file:
127.0.0.1 localhost.com
Fedora/CentOS/RHEL: sudo yum install postfix
Ubuntu: sudo apt-get install postfix
MacOSX: Postfix is already installed by default.
-
During postfix install process, the configure text dialog will display five options:
General type of mail configuration: No configuration Internet Site Internet with smarthost Satellite system Local only
-
Select "Local Only".
-
For the domain name, use the default suggested and finish the install.
Enabling this, you can use any email address ending with "@localhost" or "@localhost.com".
Example: here, my unique account is [email protected]. But while testing systems, I can use any address like [email protected], [email protected], etc, because all will be redirected to [email protected]
- If not exists, create file /etc/postfix/virtual:
sudo nano /etc/postfix/virtual
- Add the following 2 lines content, replacing
<your-user>
with your Unix user account:
@localhost <your-user>
@localhost.com <your-user>
- Save and close the file.
- Configure postifx to read this file:
- Open /etc/postfix/main.cf:
sudo nano /etc/postfix/main.cf
- And check if this line is enabled, or add it if not exists:
virtual_alias_maps = hash:/etc/postfix/virtual
- Open /etc/postfix/main.cf:
- Activate it:
sudo postmap /etc/postfix/virtual
- Reload postfix:
sudo systemctl restart postfix
- If you're under non
systemd
distro, like Ubuntu 14.04, service restart command probably is:sudo service postfix reload
Ubuntu: sudo apt-get install thunderbird
- Skip the welcome screen (click in the button to use existing accounts);
- Click in the Settings button at top right (similar to Chrome settings) then click on Preferences > Account Settings
- Under Account Actions choose "Add Other Account"
- Select "Unix Mailspool (Movemail)"
- Your account will be
<your-user>@localhost
(of course, replace<your-user>
with your user account). Don't use<your-user>@(none)
, use<your-user>@localhost
- Ingoing and Outgoing server will be:
localhost
- Restart (close and reopen) Thunderbird.
- This step have two purposes: test your install and stop the
Unable to locate mail spool file.
message. - Using Thunderbird, send new email to
<your-user>@localhost
, replacing<your-user>
with your user account - Click on "Get Mail"
- Test catch-all: send new email to
averagejoe@localhost
- Click on "Get Mail" and you'll see the message at
Inbox
.
What if I already had it installed? How do I re-prompt the configuration?
This guide doesn't say how I can set up a system to get E-mail sent to an arbitrary E-mail address. I don't just want to read E-mails locally with Thunderbird. I want E-mails to be sent to e.g. a Gmail or Yahoo E-mail address.