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
.
The instructions are clear for Postfix, but current Thunderbird versions are fussy.
I'm on Ubuntu 20.04, with Thunderbird 78.11.0. netstat indicates that postfix is listening on port25.
But Thunderbird says it can't connect to the account for incoming messages
Thunderbid seemd to want to prepend a . to the server names: I assumed since that needs to be removed for the SMTP settings, the same should hold for the IMAP. Is there a combination of port and security settings that works?
143, connection security: none, password transmitted insecurely does not seem to work. Thunderbird is also not prompting for a password, but it doesn't react well to being told to remember an initial password either.