The InboxKitten journey 🐈 (3 Part Series)
(powered by serverless kittens 🐈)
Disposable emails services, are incredibly useful in accessing parts of the internet that insist of having an your email address which you do not wish to give out. Or for automation of your day to day testing in web development.
All you need to do is send an email to
firstname.lastname@example.org, go over to inboxkitten.com, search it up. And poof it should be there. No signup nor passwords needed.
However when our usual testing inbox started randomly failing (too much mail?). It went from “for fun” to “fur reals, we need it to work now (or yesterday if possible)”. A mad rush of 14 hours from zero to prototype.
As a disposable inbox does not need to keep emails for more a few hours, we do not need a full
SMTP + FileSystem + Database setup, which would be a huge pain and expense to set up. Hence enter Mailgun, who provides a free incoming email service, with a small small catch that its up to 3 days of storage, which is 3 times more then what we practically needed. Woohoo!
Enter firebase with google always free cloud functions! As long as we are reading less than 50,000 (+/- viral kittens) emails a month, regardless of the amount of emails actually sent, it would be within the free tier, great!
Hence after learning how to properly interact with Mailgun's API, which is fairly simple, using only two endpoints for listing of emails and retrieving the email. And a quick testing on Postman, we would simply need to only create our express.js server wrapping those endpoints with our API keys. Providing access to the Mailgun API, while keeping our keys secure.
After completion of our own API server for the endpoints, all that is left to do is to create a friendly user interface for it.
This is quickly done up as a 3 view, single page application using vue.js.
And since we are at it, we might as well create a CLI version of it. Using go lang. (Just because we wanted to learn how to do so in go =D )
Because we can, on github here, under MIT license.
So go forth, and adopt your own inboxkitten.
Full disclaimer, naturally since I work at uilicious.com, I would be using their platform to test my project.
The test case shown above, uses the following script:
You can see an example result here:
Woohoo, now that it’s tested and know its working. We can let the kitten free on the internet!
With a 2 person team. This makes the project ideal for a 24 hour hackathon project with time to spare disturbing all the other contestants, while playing the wii-u.
The full timeline of the prototyping project can be found here.
Special thanks to Nai Jie, our designer friend who saved our prototype from public embarrassment with the cute cat logo (applied after the 14 hours). Check out his other works at @njartz!