TempMail February 2024 Updates

See the new TempMail updates for the past few months

Hello everyone! It has been several months since the last update, and a lot has changed!

Introducing TempMail Accounts

Instead of using a 24 number and 36 character authentication method, you can now use a TempMail account, linked to your (non-temporary) email address and API Key, which you can use to access the TempMail API. If your API key is ever compromised, re-create one on the dashboard.

TempMail Plus and TempMail Ultra are now subscription based, but can be cancelled anytime through the dashboard. Crypto payments are currently not available until I figure out a solution on my end.

Server Upgrades

Thanks to everyone supporting TempMail, we have been able to make some server upgrades. Some of which were overdue.

First thing I want to address is the 500 errors. Many of this was due to several year old software working overtime to keep up with the amount of requests. We have since switched from using Redis to using MongoDB for everything, including statistics.

The server itself has been upgraded to have more than three times the amount resources than last blog post, and nearly all issues have been resolved with the server.

Subdomains

Now it’s time to talk about subdomains. Until now, all of the domains which I have been using have been on the root domain (such as example.com), however, the current solution allows you to use ANY subdomain on a domain, and even allows you to choose which subdomain you want! Keep in mind that this will only allow you to choose subdomains from current domains, so you will have to check the site periodically for new domains, or just get it from the API.

Subdomains can be chosen the same way that normal domains are chosen through the API or libraries.

Subdomains on Custom Domains

Subdomains on Custom Domains are supported as well! (Though, they were technically supported before, now they are officially supported!).

New Custom Domains

Version Two of the TempMail API included a lot of changes, including a brand new way to register domains to your TempMail account. Instead of using a password, you can now POST /v2/custom with your domain in JSON POST data (and authorization), and we will give you a UUID which you can use to verify ownership of the domain by adding it to your domain’s records.

This new system will help to reduce TempMail detection, as well as make it easier for users. Your API Key will be used to access it, the same one used to POST to the domain, and no more password will be required for you to access it. Pretty cool, huh?

You can access the documentation for this on the TempMail Wiki.

Retiring BananaCrumbs IDs

I’ll admit that this system was flawed at the beginning. I wanted to make sure users had the privacy they needed, but I quickly realized this was beginning to be a problem, especially for corporations which wanted to use the API. An interface like that looked sketchy at best.

All BananaCrumbs IDs will continue to work; however, no new time can be added to them. This will allow people to migrate to the new system, which is easier for me and everyone else to manage.

Migration of BananaCrumbs IDs

You can migrate your ID at the TempMail Accounts Page, where you will be prompted to enter your ID and token for your old ID once you create a new account. Keep in mind though, if your new account gets time added to it before migrating, you cannot migrate an old ID to that account.

Subscription-Based Pricing

Since BananaCrumbs IDs were purely based on adding 30 days of time, this new system works with Stripe’s Subscription platform to have auto-renewing subscriptions, instead of having users add time to an ID. You would not believe how many issues there were with the old system…

Statistics

I cannot believe that we have over eighty million emails received! This is an incredible milestone, and I can’t wait until we reach in the nine-digits!

Conclusion

Thank you for reading! And as always, feel free to contact me on Discord if you need help. If you want, please let us know how you use TempMail in the Discord server in the new #showcase channel!

TempMail Is Now Using Bun!

We switched to Bun, and the results are outstanding

It’s been a while since we’ve posted last! In the background, the TempMail server is now faster than ever before, thanks to Bun.sh, a JavaScript runtime which has proven to be faster than the default Node runtime in our cases.

First Things First

Thank you to Ashton Memer for converting the server to Bun!

Stats

Since switching to Bun, we have seen the startup time for our server decrease from 15+ seconds to less than one second! Users were getting 500-level error codes because the default Node runtime could not keep up with the amount of request per second our server is getting. Since switching to bun, the average API request time went from 100 ms average to 20 milliseconds!

At peak, our service has had more than 200,000 inboxes active at any given time! A feat that would’ve resulted in many 500-level errors given the standard Node runtime.

In terms of memory, we’ve found that Bun, on average, uses 1.5 times more memory than the Node runtime. We believe that this is a fair tradeoff between performance and resources.

Next for TempMail and BananaCrumbs

We’re also excited to announce a new account system for BananaCrumbs, one where you can use your Email to register and create API keys! We will be releasing a post about this in the future.

Upcoming Updates for TempMail

See some of the upcoming features for TempMail in this article!

1,200,000 emails and 500 hourly inboxes are incredible numbers! With the growth of the website, I would like to make some additions to further help people with their privacy in using TempMail.

These features will be added during November of this year through February of next year. They will not be added in any particular order, though.

Desktop App

While navigating to the website is easy, a desktop app can save a few clicks. The desktop app will be available to download on Windows, Mac, and Linux-based systems in the upcoming month.

POP3/IMAP Support

This has been planned for a while. Our customized protocol is not compatible with others; however, we plan to add support for POP3/IMAP soon as well. The intended design will allow users to sign in with the temporary email with the token as the password, instead of using HTTPS with our own protocol.

More Language Support

English is one of the most common languages; however, a great deal of our traffic comes from outside English-speaking countries. We will add multiple language support for the website. Our app, AnonyMail, already supports a few languages!

More (Programming) Language Support

We plan to create more libraries for more programming languages. As of now, we have one for JavaScript, Java, and Python, which are the most commonly used languages for scripting. Our next target languages include Rust, C, and Go.

Conclusion

Thank you to everyone who has used the website so far, and to those who will use it in the future! If you have any questions, feel free to write a comment below.

Major Updates for TempMail

We’ve released one of our biggest updates yet. This update includes custom domains, public domains, and more!

TempMail.lol has been running for almost a year since it started as Exploding Email. In that time, we’ve made a lot of changes to the website. In this article, we’ll go over some of the major changes that have been made recently.

Custom Domains

While this used to be a feature of Exploding Email, it has been added back into TempMail with a great implementation. You can now choose if you want your custom domain to be private (that is, only you can access it), or public (anyone can make Alternative Emails through your domain).

Private Domains

With private domains, you are given a token to “login” to the domain to retrieve emails. This prevents random people from reading the emails on your domain. Note that private domains can only store up to five emails across the entire domain before needing to be emptied by getting the emails (earliest emails are stored).

Public Domains

Public domains are a bit different: they are put into the pool of Alternative Domains, so people can generate emails with your domain, helping to avoid TempMail detection. If you have a spare domain you are not using, consider adding it!

Overview of Custom Domains

Overall, custom domains will help everyone. Private custom domains are currently in beta and are free during this period, they may be behind a subscription-based service in the future. Adding public pool domains will always be free.

Custom domains have also been added to the API. Support for custom domains will be added to libraries within the upcoming weeks.

API Changes

You can now choose a domain you want to generate! This allows you to choose from any existing default/alternative domains. Here’s an example:

curl https://api.tempmail.lol/generate/example.com

This will generate an email at the domain you specify (in this case, example.com).

Conclusion

As September starts, we have added more features to the website while keeping the core principle of the website the same, a temporary email generator. If you just use the normal website with its .com domains, nothing will change. Alternative emails will be getting a larger pool of domains to pick from, which will help avoid detection.

Looking ahead, we plan to add even more features, such as support for the POP3 protocol, bigger storage for private domains, and more!

Lastly, we’ve processed 520,000 emails! This number is insane, and we hope it will continue to grow as more people use our service. Spread the word, and bookmark our site! If you have any questions, suggestions, or just want to talk, join the Discord server below!

Introducing Alternative Domains for TempMail

Introducing our new feature: alternative domains! Alternative domains allow you to generate emails that bypass certain website restrictions.

Ever tried to signup for a website using one of our domains but have had it fail? Thankfully, we are introducing something new: alternative domains.

Alternative domains allows you to use less common website endings (such as .cfd, .lol, and .shop). These endings are much cheaper than common endings (such as .com, .net, or .org), but may not work as reliably as common endings.

What does this mean for me?

If you use the regular domains, nothing will change. The website will still function the same way it has.

How do I use it?

Simply toggle the switch on the homepage under the Copy and Regenerate buttons.

If you do not see the switch, hold Control and click F5 on your keyboard to reload the page.

Developers: does this break the API?

No. For the TempMail.lol API, the /generate endpoint will still work. If you wish to generate alternative emails, please use the /generate/rush endpoint instead. This will be added to TempMail APIs in the following weeks. Alternative domains are on the same rate-limit as normal domains (30/minute).

Conclusion

Thank you to everyone who has used the website so far! We are approaching 300,000 emails received and have around 200 hourly active users. We hope this addition to the website will help people get around websites censoring our email addresses.

The TempMail Python API is out!

Want to use the TempMail API using Python? Try our easy-to-use library built for Python!

Ever wanted to interact with the TempMail.lol API using Python but didn’t want to use raw HTTP requests? Well now we got your back.

First off, I would like to say thank you to Alex Torres for making the Python library. You can view the code here, feel free to contribute!

Important – read before using

The TempMail.lol API has a few limitations:

  • You must use the token to check for emails within 10 minutes of the last check or the creation of the inbox, otherwise it is deleted.
  • Inboxes expire after 1 hour.

Installing

Use the pip command to install the library:

pip install tempmail-lol

Example Usage

from TempMail import TempMail #imports everything from TempMail library
import time #import time module

inbox = TempMail.generateInbox() #returns an Inbox object with Email and Token

print("Email Address: "+ inbox.address) #View output below
print("Authorization Token: "+ inbox.token)

#output: 
"""
    Email Address: [email protected]
    Authorization Token: RCfc1og1z1JzuN1mkXL2eFdAc_8uxSRAwcGhUoXuH26e7nnJMdVVtSxxasZLD9D2OHTKIjVEvLhK7S0K5QIanA
"""

while(True): #Infinite Loop
    emails = TempMail.getEmails(inbox) #Returns list of Email objects
    print(emails) # View output below
    time.sleep(30) #wait 30 sec

#output:
"""
    [Email ([email protected], [email protected], 
            subject=Subject line, body=Text Area, html=<div dir="ltr">Text Area</div>, 
            date=1652824961713 )]
"""

Conclusion

Thanks again to Alex Torres for making the API. If you found it useful or have any suggestions, feel free to ask on GitHub. Let us know what you end up creating!

TempMail API for JavaScript is Ready!

Ever wanted to make a program that interacted with TempMail.lol but didn’t want to figure out the API yourself? Now, you can use our basic JavaScript/TypeScript library to do so!

Ever wanted to make a program that interacted with TempMail.lol but didn’t want to figure out the API yourself? Now, you can use our basic JavaScript/TypeScript library to do so!

To get started, install the library on your project:

npm i tempmail.lol

You can also use Yarn if you prefer.

yarn add tempmail.lol

Important – Read Before Using

Inboxes have a hard expiration time of one hour. If you do not use the token to check for emails within 10 minutes of the last check, the inbox will expire.

Usage

Using the API is very simple. To create an inbox, use the following code:

const {createInbox} = require("tempmail.lol");

createInbox((inbox, err) => {
    if(err) {
        return console.error(err);
    }
    
    console.log(`Created new inbox: ${inbox.address}`);
    console.log(`Inbox token: ${inbox.token}`);
});

Or you can use promises if you prefer:

const inbox = await createInboxAsync();
//or you can use .then()

Make sure to save either the Inbox or the token returned, as you will need it to access any received emails.

To access received emails:

const {checkInbox} = require("tempmail.lol");

checkInbox("YOUR_TOKEN", (emails, err) => { //you can also pass in the Inbox object.
    if(err) {
        return console.error(err);
    }
    
    emails.forEach((e) => {
        console.log(JSON.stringify(e, null, 4));
    });
});

Of course, you can also use the async method:

const emails = checkInboxAsync("YOUR_TOKEN"); //you can also pass in the Inbox object.

Note: if the token is invalid, the checkInbox and checkInboxAsync methods will throw an error. Keep this in mind for when you use it in production.

Examples

I learn from examples, and you might as well! Here is an example program that generates an email, checks for new emails every 10 seconds, then displays if any are received.

const {createInbox, checkInboxAsync} = require("tempmail.lol");

createInbox((inbox, err) => {
    if(err) {
        return console.log(err);
    }
    
    console.log(`Inbox created: ${inbox.address}`);
    
    //Check for new emails every 10 seconds
    setInterval(async () => {
        const emails = await checkInboxAsync(inbox);
        
        if(emails.length > 0) {
            console.log(`${emails.length} emails received`);
            
            //print out each email.
            emails.forEach((value, index) => {
                console.log(`${index + 1}: ${value.subject}`);
                console.log(`from: ${value.from}`);
                console.log(`date sent: ${new Date(value.date)}`);
                console.log(`body: ${value.body}`);
                console.log(`html: ${value.html}`); //note: html may be undefined.
            });
        }
    }, 10000);
});

Pretty cool! Let me know what you end up creating, you can reach me at [email protected].