Some Technology I Learned Building The New Disposeamail
Here’s a short list of things I learned more about just by working on and launching Disposeamail:
- Streams – I don’t have the opportunity to use streams that often, but in this case it was critical. Disposeamail uses streams to pipe all incoming emails straight to the database and discard any attachments without taking up any memory or diskspace while doing it. Proper usage of steams are absolutely critical to the fast performance of the Disposeamail service and my ability to run it on a shoestring side project budget.
- Production Deployment – I have deployed many Node.js web apps, but so far none that run multiple services from the same codebase. Disposeamail runs the web service on one port, and the SMTP service on another port that I pipe all incoming emails to. These are both part of the same codebase and application, but must be deployed simultaneously as two separate apps listening on two separate ports. With PM2, setting this up was very simple and straightforward. I also got experience setting up Let’s Encrypt with nginx to auto-renew SSL certs, and more. All very valuable experinces for me and my future running Node.js based web services.
- ES6 Tagged Template Literals – After using React with server-side rendering in ChurchMint, I wanted to try out a much lighter-weight solution with new ES6 template literals to see how it would work compared to other methods of rendering templates in Node.js like EJS and Jade. I came up with a great solution for all my templating needs within a few hours, and render all the views in Disposeamail on the server with composable functions instead of having the overhead of templating engines with their own syntax. A win for speed, and a good solution that I am very happy with overall.
The Spam Never Stops
One thing that led me to re-launch Disposeamail besides learning was that there were still (surprisingly) lots of incoming emails to the disposeamail.com domain. At the time of writing, Disposeamail has 5,126 emails stored, and has been online for only 3 days. That’s an average of 1,708 emails per day for a site that has been offline for 5 years. That level of spam is crazy for a site that has been dead since December 2011. Most reputable email senders who care about email deliverability automatically remove emails from their list when they bounce. It is clear that spammers (and even some well-known companies) either don’t care about hard bounces, or don’t even check for them.
Once your email is on spammer’s lists, the spam never stops coming. If a service being completely shut down for 5 years doesn’t stop the deluge of spam, nothing will.
Disposeamail is basically spam protection. It’s not always useful in all situations, but it can be useful in certain situations where you think there’s a high chance you will get spam email from certain services you sign up for and use. It is the unfortunate reality of the world we live in today. Protect yourself out there.