Bulk Email Creation Guide

By TempMailSpot Editorial Team10 min read

When You Need Multiple Addresses

Some use cases require more than one temporary email at a time:

  • Load testing: Simulate multiple users signing up simultaneously.
  • QA automation: Test email flows across different user scenarios.
  • Data collection: Gather verification emails from multiple sources.
  • A/B testing: Compare email experiences across different addresses.

Manual Bulk Creation

For small batches (under 10), use browser tabs:

  1. Open TempMailSpot in multiple tabs (Ctrl+Click or Cmd+Click).
  2. Each tab receives a unique email address.
  3. Organize tabs by labeling browser tab groups.
  4. Monitor all inboxes simultaneously.

Automated Bulk Creation

For larger volumes, use the API:

// Generate 10 email addresses
const emails = await Promise.all(
  Array(10).fill(null).map(async () => {
    const res = await fetch('https://tempmailspot.com/api/v1/generate');
    return res.json();
  })
);

// emails = [{ email: '...', token: '...' }, ...]

Managing Multiple Inboxes

Keep track of your addresses with a simple data structure:

const inboxes = new Map();

// Add new inbox
function addInbox(email, token) {
  inboxes.set(email, { token, messages: [], createdAt: Date.now() });
}

// Check all inboxes
async function checkAllInboxes() {
  for (const [email, data] of inboxes) {
    const messages = await fetchInbox(email, data.token);
    data.messages = messages;
  }
}

Rate Limit Considerations

When creating addresses in bulk:

  • Space requests 100-200ms apart to avoid rate limits.
  • Use connection pooling for efficient HTTP handling.
  • Implement retry logic with exponential backoff.
  • Monitor for 429 responses and pause accordingly.

Cleanup and Lifecycle

Temporary emails expire automatically, but manage your local state:

  • Remove expired addresses from your tracking system.
  • Log which addresses were used for which tests.
  • Clear completed test data to free memory.

Integration with Testing Frameworks

// Jest example
describe('User Registration', () => {
  let tempEmail, tempToken;

  beforeEach(async () => {
    const res = await fetch('https://tempmailspot.com/api/v1/generate');
    ({ email: tempEmail, token: tempToken } = await res.json());
  });

  test('sends verification email', async () => {
    await registerUser(tempEmail);

    // Wait for email
    await new Promise(r => setTimeout(r, 5000));

    const inbox = await fetchInbox(tempEmail, tempToken);
    expect(inbox.messages).toHaveLength(1);
    expect(inbox.messages[0].subject).toContain('Verify');
  });
});

Recommended Privacy Tools

Tools mentioned in this guide to protect your privacy

NordVPN

VPN

Encrypted tunneling across thousands of servers with an audited no-logs policy. For private browsing on untrusted networks.

Learn More

ExpressVPN

VPN

Consistently fast servers in 90 plus countries, an audited no-logs policy, and a clean app on every platform.

Learn More

Surfshark

VPN

Unlimited devices on one plan, with ad and tracker blocking built in. The budget pick that does not feel budget.

Learn More