Introduction
MailCatcher is a tool that provides an easy way for developers to inspect emails that their applications send out without having to wait for an email provider. It catches all emails that it receives, and stores them for display. Both HTML and plain text messages are supported.
Installation
First update yum’s repository list, then install the gcc and g++ compilers, and MailCatcher’s dependencies (Ruby and SQLite).
sudo yum update
sudo yum -y install gcc gcc-c++
sudo yum -y install sqlite-devel ruby-devel
Install MailCatcher.
sudo gem install mailcatcher
Running MailCatcher
Once installed, you can run mailcatcher --help
to see what options are available.
Start MailCatcher by running mailcatcher --ip [your-akl-web-host-ip-address]
on your terminal. Your output should look similar to the following:
root@install:~# mailcatcher --ip [your-akl-web-host-ip-address]
Starting MailCatcher
==> smtp://[your-akl-web-host-ip-address]:1025
==> http://[your-akl-web-host-ip-address]:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
Browse to http://[your-akl-web-host-ip-address]:1080
and you’ll see MailCatcher’s web interface. Configure your application to use an SMTP host of your AKLWEB Host IP Address and port 1025 and send out some test emails. These emails will appear on MailCatcher’s web interface.
NOTE: If you don’t see MailCatcher’s web interface, then you may have to open port 1080 and enable “http service” on CentOS firewall. Run the commands below, then try accessing http://[your-akl-web-host-ip-address]:1080
from your web browser again.
sudo firewall-cmd --zone=public --add-port=1080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
Conclusion
MailCatcher can really ease up the development and testing workflow, as it takes out the need for a mail provider to catch and view emails. Consider trying it for your next application.