NodemailerApp is the ultimate cross-platform email debugging tool.
The app includes local SMTP and POP3 servers, a sendmail replacement, a catchall email domain service, an AMP4Email renderer, and it imports emails from EML, EMLX, large MBOX files from Gmail Takeout, Maildir folders, and Postfix queue files for inspection and preview. Want to see the actual HTML source of a beautifully designed email instead of garbled rfc822 text? Just open the HTML tab of an email to view it.
You can use NodemailerApp to instantly preview emails sent from your dev environment, whether via SMTP, sendmail, or the open web using the built-in catchall service. You can also upload emails to an external SMTP or IMAP server. All SMTP, POP3, and IMAP transactions include live logs for extra clarity.
Note: Downloads may be slow due to limited network throughput, and file sizes are large (>100MB) since NodemailerApp is built on Electron.
1. Preview emails as they are imported. You can start importing a large 10GB mbox file from Gmail Takeout and immediately start browsing the emails that are already imported.
2. Rich email output. View the plain text alternative, HTML source code, and email headers alongside the standard rich text view. You can download the entire email as an EML file or export it as a PDF. Attachments are located under the Files tab.
3. Local development server. NodemailerApp can be configured as an SMTP relay server in your development environment. Emails sent from local environments (like Laravel) can be immediately previewed in NodemailerApp, which catches emails for testing purposes without delivering them to actual recipients. You can also retrieve these emails via POP3 if needed.
4. Message upload. Emails stored in NodemailerApp can be uploaded to an SMTP server for delivery or to an IMAP server to store them in your email account.
5. Extensive search. Search for emails, attachments, or people. NodemailerApp indexes all header values in every message, making it easy to find specific emails, such as a PDF sent by your boss last year.
6. Catchall service. Built-in support for a catchall email domain service is included. Enable it with a single click to assign a custom domain name, and all emails sent to this domain will be routed to a project in your app.
7. AMP4Email. Preview dynamic AMP4Email messages. If something is wrong with the message, NodemailerApp will display the exact cause of the error, unlike email services that ignore dynamic content when errors occur. See this blog post for an example.
Windows
On Windows, you can edit php.ini
and set it to the value provided in NodemailerApp’s Local Server view. NodemailerApp does not need to be running while emails are sent since they are stored to disk and can be viewed the next time the app starts.
Alternatively, you can download the Windows version of sendmail as a separate application. Use the same arguments shown in the instructions section.
OSX
In OSX, XAMPP runs your web app in an isolated container, making direct sendmail requests to NodemailerApp impossible. Instead, use the Linux version of sendmail replacement to proxy emails over SMTP, which requires that NodemailerApp is running.
Steps:
0.0.0.0
or 192.168.64.1
(default is 127.0.0.1
). XAMPP VM assigns 192.168.64.1
to the host machine.$ mv /opt/lampp/lib/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6.bak
$ cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/lampp/lib/
/opt/lampp/etc/php.ini
, and in the [mail function]
section, add the following configuration line using the SMTP username and password provided by NodemailerApp:
sendmail_path = "/opt/lampp/sendmail --host=192.168.64.1 --port=1025 --user=project.1 --pass=secret.1 -t -i"
For all available configuration options, run /opt/lampp/sendmail --help
.