An in my opinion better alternative is postfix with pcre to have a proper catch-all.
Setup a Local Only Email Server.
Point localhost.com to your machine
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
Install Postfix
sudo apt-get install postfix postfix-pcre
Configure Postfix to Local only.
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.
Configure a Catch-all Address
Enabling this, you can use any email address.
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 it dies not exist, create file /etc/postfix/virtual: sudo nano /etc/postfix/virtual
Add the following line content, replacing with your user account:
/.*/ <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 = pcre:/etc/postfix/virtual
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
Install Thunderbird.
sudo apt-get install thunderbird`
Configure 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 @localhost (of course, replace with your user account). Don't use @(none), use @localhost
Outgoing server will be: localhost
at port 25.
Restart (close and reopen) Thunderbird.
Start your Mail Spool file
This step have two purposes: test your install and stop the Unable to locate mail spool file. message.
Using Thunderbird, send new email to @localhost, replacing 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.
echo 'This is a test' | mail -s "Hello test world" [email protected]