Skip to main content
Mailboxes are one of the key concepts in Mission Inbox that you use for actual email sending. They are created using verified domains and provide the foundation for your email operations.

Creating Mailboxes

There are two ways to create mailboxes on Mission Inbox:

1. Single Mailbox Creation

Create mailboxes one by one using the API with the following payload:
const response = await fetch('https://api-v2.missioninbox.com/api/mailboxes/', {
  method: 'POST',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "email": "john.doe",
    "domain": 123,
    "relay_server": 456,
    "password": "SecurePassword123!",
    "project": 789,
    "reply_to": "support@yourdomain.com"
  })
});

const result = await response.json();
console.log('Mailbox creation task:', result.task_id);

2. Bulk Mailbox Creation

Create multiple mailboxes at once using CSV upload for efficient bulk operations.

Mailbox Parameters

  • email: The username part only (e.g., john.doe without the domain)
  • domain: The ID of the verified domain to use
  • relay_server: The ID of the relay server to associate with this mailbox
  • password: Password for the mailbox (must meet validation requirements)
  • project: The project ID to organize your mailboxes
  • reply_to: Optional reply-to email address
Password must meet specific validation rules. Check the API Reference for detailed password requirements.

Asynchronous Mailbox Creation

Creating mailboxes is an asynchronous process that uses Celery tasks:
// Create mailbox and get task ID
const createResponse = await fetch('https://api-v2.missioninbox.com/api/mailboxes/', {
  method: 'POST',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(mailboxData)
});

const { task_id } = await createResponse.json();

// Poll task status
async function checkTaskStatus(taskId) {
  const response = await fetch(`https://api-v2.missioninbox.com/api/tasks/${taskId}/`, {
    method: 'GET',
    headers: {
      'Authorization': 'Api-Key YOUR_API_KEY'
    }
  });

  const task = await response.json();
  return task.status; // 'pending', 'success', 'failure'
}

// Polling function
async function pollMailboxCreation(taskId) {
  const maxAttempts = 30;
  const interval = 5000; // 5 seconds

  for (let attempt = 0; attempt < maxAttempts; attempt++) {
    const status = await checkTaskStatus(taskId);

    console.log(`Task status: ${status}`);

    if (status === 'success') {
      console.log('Mailbox created successfully!');
      return true;
    }

    if (status === 'failure') {
      console.log('Mailbox creation failed');
      return false;
    }

    await new Promise(resolve => setTimeout(resolve, interval));
  }

  return false;
}

// Usage
pollMailboxCreation(task_id);

Managing Mailboxes

List Your Mailboxes

Once mailboxes are created, you can retrieve detailed information:
const response = await fetch('https://api-v2.missioninbox.com/api/mailboxes/', {
  method: 'GET',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY'
  }
});

const mailboxes = await response.json();
console.log('Your mailboxes:', mailboxes);
The list mailbox API returns complete mailbox details including configuration and status information.

SMTP and IMAP Configuration

All mailboxes created through Mission Inbox can be used with standard email clients. The SMTP and IMAP server URIs are available through the Account / Get current user information API endpoint.

Getting Server Connection Details

First, retrieve your SMTP and IMAP server URIs from the user information endpoint:
const response = await fetch('https://api-v2.missioninbox.com/api/userinfo/', {
  method: 'GET',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY'
  }
});

const userInfo = await response.json();
console.log('SMTP Server:', userInfo.ibx_smtp);
console.log('IMAP Server:', userInfo.ibx_imap);

Email Client Configuration

📤 SMTP Settings

Server: From ibx_smtp in userinfo
Port: 465
Security: SSL/TLS
Username: Your mailbox email
Password: Your mailbox password

📥 IMAP Settings

Server: From ibx_imap in userinfo
Port: 993
Security: SSL/TLS
Username: Your mailbox email
Password: Your mailbox password

Example Configuration

// Get user info with server URIs
const userInfoResponse = await fetch('https://api-v2.missioninbox.com/api/userinfo/', {
  method: 'GET',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY'
  }
});

const userInfo = await userInfoResponse.json();

// Example SMTP configuration for sending emails
const smtpConfig = {
  host: userInfo.ibx_smtp,
  port: 465,
  secure: true, // SSL
  auth: {
    user: 'your-mailbox@yourdomain.com',
    pass: 'your-mailbox-password'
  }
};

// Example IMAP configuration for receiving emails
const imapConfig = {
  host: userInfo.ibx_imap,
  port: 993,
  secure: true, // SSL
  auth: {
    user: 'your-mailbox@yourdomain.com',
    pass: 'your-mailbox-password'
  }
};

Service Integrations

Mission Inbox supports CSV export formats for popular email marketing and outreach services:

SmartLead

Export mailbox data in SmartLead-compatible CSV format

Instantly

Download CSV files formatted for Instantly platform

Reply.io

Generate Reply.io compatible mailbox exports

Woodpecker

Export data for Woodpecker email sequences

EmailBison

Download EmailBison formatted CSV files

Custom Format

Additional service formats available

Downloading Service-Specific CSV Files

// Example: Download SmartLead compatible CSV
const response = await fetch('https://api-v2.missioninbox.com/mailbox/download/smartlead/', {
  method: 'GET',
  headers: {
    'Authorization': 'Api-Key YOUR_API_KEY'
  }
});

const csvData = await response.blob();
// Handle CSV download

// Other providers
// https://api-v2.missioninbox.com/mailbox/download/instantly/
// https://api-v2.missioninbox.com/mailbox/download/reply.io/
// https://api-v2.missioninbox.com/mailbox/download/woodpecker/
// https://api-v2.missioninbox.com/mailbox/download/emailbison/

Best Practices

Use strong passwords that meet all validation requirements. Store passwords securely and never expose them in client-side code.
Configure appropriate reply-to addresses to manage responses effectively and maintain professional communication.
Use project IDs to organize mailboxes by campaign, client, or purpose for better management.
Use CSV bulk creation for large numbers of mailboxes to improve efficiency and reduce API calls.

Troubleshooting

Common mailbox creation issues:
IssueCauseSolution
Password validation failedWeak passwordCheck password requirements in API reference
Domain not foundInvalid domain IDEnsure domain is created and verified
Task stuck in pendingServer overloadWait longer or contact support
SMTP/IMAP connection failedIncorrect credentialsVerify username/password combination

API Reference

For detailed information about mailbox management APIs, including:
  • Password validation rules
  • Task status monitoring
  • Bulk creation endpoints
  • Export format options
Please refer to the API Reference section.
Ready to create mailboxes? Ensure your domains are verified before creating mailboxes. Remember to monitor task status for asynchronous operations.