How I make temporary accounts 2015-12-22

I don’t like creating new accounts with my real email address, because:

  • I don’t want to be automatically subscribed to newsletters. This is annoying and happens very frequently, often without the offending site asking if I want to receiver their newsletter.
  • The more databases my email is in, the more likely hackers get it and sell it to spammers.

To avoid using my real email address for websites where I want to do low-priority stuff I have a process for generating a temporary public email address using mailinator,, or similar providers. These websites let you go to a static public URL to view an inbox for any email account on the domain, for example if I go to I will see all email recently sent to This is super useful, because now I can register accounts that are in no way tied to me personally.

To pick unique email address, username, password and first/last names I use a few Python scripts. This is the script I use to generate passwords:

import random, string
chars = string.lowercase + string.uppercase + string.digits
print(''.join(random.choice(chars) for i in range(10)))

This can also be used to generate an email address. For example, if I run the script to get a random string:

$ python 

I can use as the email address for my new account. I also generate a separate random string for the password. Some sites have banned accounts from using email addresses, so then I use or another similar site.

To generate username and first/last name I use another script called

import string
from random import choice
prefix = [ 'Dr', 'Captain', 'Mr', 'Ms', 'Big', 'The', 'Not' ]
first = [ 'Happy', 'Crappy', 'Flappy', 'Jiggly', 'Wobbly', 'Neat', 'Freaky', 'Honking',
    'Prickly', 'Picky', 'Pixly', 'Random', 'Sick', 'Slippery', 'Slim', 'Shady', 'Wily' ]
last = [ 'Pants', 'Dog', 'Cat', 'Bird', 'Bag', 'Toe',
    'Waffle', 'Truck', 'Jeep', 'Beep', 'Boop', 'Phony', 'Puff', 'Rocket', 'Panda',
    'Hat', 'Boy', 'Girl', 'Crunch', 'Bee', 'Morty', 'Rick', 'Biggles' ]
for i in range(10):
    print(''.join([ choice([ '', choice(prefix) ]), choice(first), choice(last) ]))

The name generating script uses word lists for parts of a name, and picks randomly one first-part and one last-part. It also picks one prefix for half of the generated names. It prints ten names so that I have some alternatives to pick from and can pick one that I like. The word lists here have been shortened, my real lists are much longer so that I get more variety in the generated names.

Here are some names generated by the above script:

$ python

I use this process to sign up for online news sites, forums, and sometimes just to try out new services or APIs that require registration. This method is obviously not secure, because the email inbox is public and anyone can hijack your temporary account if they figure out your email and do a password recovery, so I use this method mostly for truly temporary accounts. I do use the password script to generate passwords for most of regular my accounts too because I want to avoid reusing passwords.

Categories: Uncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.