How to Bulk Import Email Accounts From a CSV
Bulk importing email accounts from a CSV is the fastest way to connect large warm-up fleets: BobWork tests each row, skips existing mailboxes, and supports 200 mailboxes per account by default; a new account pays $180/month at 100 mailboxes or $980/month at 500. Manual setup makes small errors multiply. This guide shows the CSV, prep work, costs, ramp and readiness checks.
If you are importing mostly Gmail or Google Workspace inboxes, read this with the bulk Gmail account warm-up guide. It covers Gmail-specific prep in more depth. For mixed fleets, use this page as the operational checklist: cost, CSV columns, upload path, failed-row fixes, pool mode, DNS and readiness.
BobWork Email Warm-up is free for up to 10 mailboxes on new accounts, with no card and no time limit. Earlier users keep 20 free mailboxes for as long as they use the product. Mailboxes above the free limit need billing active before they connect.
What will the fleet cost?
Use this table before you prepare the CSV. It shows new-account pricing with 10 free mailboxes. Referral extras and AppSumo extras can stack on top. The base calculation is active mailboxes minus the free allowance, then the current paid tier.
Prices are monthly. Billing runs through Stripe, is prorated, and can be cancelled any time. Extra mailboxes pause without billing when you pause them.
| Mailboxes | Free | Paid extra | Monthly cost |
|---|---|---|---|
| 10 | 10 | 0 | $0 |
| 20 | 10 | 10 | $30 |
| 25 | 10 | 15 | $45 |
| 50 | 10 | 40 | $120 |
| 100 | 10 | 90 | $180 |
| 150 | 10 | 140 | $280 |
| 200 | 10 | 190 | $380 |
| 300 | 10 | 290 | $580 |
| 500 | 10 | 490 | $980 |
| 1,000 | 10 | 990 | $1,980 |
Earlier users with 20 free mailboxes pay $20 less at larger fleet sizes. Paid prices did not change. The free allowance changed on 27 October 2026 for new accounts.
The default account limit is 200 mailboxes. If you need 500, 1,000 or more, ask for a higher limit at info@bobwork.ai before upload. Do this before you prepare a full file.
If you are comparing tools by mailbox count, use the cheapest way to warm up 50+ inboxes table. At agency scale, the billing unit matters more than the headline plan price.
What bulk import email accounts CSV works?
In BobWork, go to Add mailbox → Many mailboxes: upload a CSV. You can paste rows or upload a file.
For Gmail, Google Workspace, Yahoo Mail and iCloud Mail, use this header:
``csv email,app_password,name jane@example.com,abcd efgh ijkl mnop,Jane sam@example.com,wxyz abcd efgh ijkl,Sam ``
Host settings are filled in for Gmail, Yahoo and iCloud presets. You do not need IMAP or SMTP host columns for those providers.
For other IMAP domains, add imap_host:
``csv email,app_password,name,imap_host alex@agencydomain.com,mailbox-password,Alex,imap.hostinger.com mira@clientdomain.com,mailbox-password,Mira,mail.clientdomain.com ``
Use one row per mailbox. Keep the first row as the header row. If a name contains a comma, quote the name field as normal CSV.
Every row gets the same IMAP+SMTP login test as a single mailbox connection. If a row passes, it can connect. If it fails, BobWork lists the row with the reason. Already-connected rows are skipped, so a corrected re-upload is safe.
Do not reuse app passwords across accounts. For non-Gmail providers, check the provider’s current mail-client settings before upload. Hosts and authentication rules can change.
For Gmail and Google Workspace, the recommended route is IMAP with an app password. One-click Google sign-in also exists, but Google caps unverified apps at 100 users, BobWork has not completed the CASA audit, and Google shows an unverified-app notice. For bulk work, app passwords are the practical route.
After connection, the warm-up engine handles sending, replies, spam rescue and archiving. You still need correct credentials, provider access and domain DNS before a fleet can perform well.
How should you prepare Gmail?
Prepare Gmail credentials before upload. CSV import is only fast when the credentials are ready.
Gmail app passwords require 2-Step Verification. Google documents the process in Sign in with app passwords. For Workspace accounts, an admin may also need to allow app passwords or IMAP access in the domain’s security policy.
Use a repeatable naming pattern. For example, label each password as BobWork Warm-up plus the mailbox name. That makes later revocation safer.
A simple Gmail preparation flow:
- Sign in to the mailbox.
- Turn on 2-Step Verification.
- Create an app password for mail access.
- Copy the app password into the CSV row.
- Repeat for every Gmail or Workspace mailbox.
- Upload 5–10 rows first.
- Upload the full file after the test passes.
Do not put the normal Gmail password in the app_password column. Use the 16-character app password Google gives you.
For Workspace fleets, check that IMAP is allowed for users. If rows fail with authentication or IMAP access errors, fix the Workspace setting first, then re-upload the same CSV.
If these mailboxes will send cold email later, keep the sending plan conservative after readiness. The Gmail warm-up guide covers Gmail-specific setup and daily sending ranges.
How do you upload and fix rows?
Start with a small file. In the dashboard, go to Add mailbox → Many mailboxes: upload a CSV. Paste the rows or upload the file.
Use 5–10 rows for the first pass. A small test catches repeated mistakes, such as a wrong header, missing Workspace permission, or a bad provider host.
Each row is tested separately for receiving and sending access. Rows above the free mailbox allowance need billing active before they connect.
Failed rows are listed with a reason. Fix those rows, then re-upload. Successful rows can stay in the file because already-connected mailboxes are skipped.
| Failed-row reason | What it usually means | Fix |
|---|---|---|
| Authentication failed | Wrong app password, expired app password, or normal password used | Create a fresh app password and replace the CSV value |
| 2-Step Verification missing | Gmail app passwords are not available | Enable 2-Step Verification, then create the app password |
| IMAP not available | Provider or admin setting blocks IMAP | Enable IMAP or change the provider policy, then re-test |
| Host not found | Wrong imap_host for a non-preset domain | Use the provider’s current IMAP host guidance |
| Already connected | The mailbox is already active in the account | No action needed; the row is skipped safely |
| Billing needed | The import exceeds the free mailbox allowance | Activate billing or reduce the CSV to the free allowance |
| Account limit reached | The account is at the default mailbox limit | Request a higher limit before importing more rows |
Do not fix failures by lowering security across the whole domain. Use app passwords where supported, keep 2-Step Verification on, and allow only the mail access each provider requires.
How do ramp and pool mode work?
Each mailbox ramps on its own schedule: 3 warm-up emails on day 1, then +2 per day, capped at 30 per day. The cap is editable per mailbox, up to 100.
Weekends run at 30% of the normal rate. Sends are spread across 09:00–18:00 in the mailbox’s own time zone, with randomness every 15 minutes.
The table shows weekday warm-up volume for common fleet sizes. Weekend volume is 30% of these figures.
| Mailboxes | Day 1, 3 each | Day 7, 15 each | Day 14, 29 each | Day 15+, 30 each |
|---|---|---|---|---|
| 50 | 150 | 750 | 1,450 | 1,500 |
| 100 | 300 | 1,500 | 2,900 | 3,000 |
| 200 | 600 | 3,000 | 5,800 | 6,000 |
| 500 | 1,500 | 7,500 | 14,500 | 15,000 |
| 1,000 | 3,000 | 15,000 | 29,000 | 30,000 |
These are warm-up emails, not cold emails. Keep those categories separate in your planning.
BobWork uses a shared warm-up network by default. Every active mailbox on the service exchanges warm-up emails with other active mailboxes across accounts. One mailbox is enough to start in the shared network.
For large fleets, especially 50+ mailboxes, consider switching to a private pool. Go to Mailbox pool → Pool mode and choose Private pool. Then only mailboxes inside your account write to each other. A private pool needs at least two mailboxes.
Use the shared network when you have a small number of mailboxes or want the simplest start. Use a private pool when you manage a sizeable agency or lead-gen fleet and prefer your addresses to stay inside your account.
The engine picks peers on a different domain or provider twice as often. A pair never writes to each other twice within 3 hours. About 40% of received warm-up mail gets a reply, and threads end after 3 messages. The engine behaviour page explains the ramp, reply and rescue rules.
How should you spread domains?
Do not put every sender on one domain. For big fleets, spreading mailboxes over several domains is safer operationally. A typical range is 2–5 mailboxes per domain.
That range is not a deliverability guarantee. It reduces concentration risk. If one domain has a DNS issue, complaint issue or provider block, the whole fleet does not stop.
Every domain needs its own DNS checks. BobWork checks SPF, DKIM and DMARC daily via DNS and shows the result per domain. DKIM selectors checked include google, zmail, default, selector1, selector2, k1, s1, mail, dkim, lark, feishu and zoho.
| Record | What to check | Why it matters |
|---|---|---|
| SPF | The sending service is authorised | Receivers can verify the sending source |
| DKIM | The provider selector is found and passing | Mail can be cryptographically signed by the domain |
| DMARC | A policy exists, at least p=none during setup | Receivers can evaluate alignment and reporting |
Google’s Email sender guidelines require authentication, with stricter rules for bulk senders. Yahoo’s sender best practices require SPF and DKIM, DMARC at least p=none, aligned mail and other controls for bulk senders.
Keep Google complaint rate under 0.1% where possible, and never above 0.3%. Warm-up cannot hide poor targeting, scraped lists, misleading copy or missing unsubscribe handling.
If DNS is the weak point, use the free SPF checker, DKIM checker and DMARC checker before importing hundreds of accounts.
When is the fleet ready?
Start with sender-level spam rate. In BobWork, spam rate is the share of a sender’s warm-up mail that receiving mailboxes found in Spam over the last 7 days. It is measured directly inside receiving mailboxes, not by third-party seed lists.
Use the health score as a triage layer:
| Status | Score or condition | What to do |
|---|---|---|
| Healthy | 85–100 | Keep warming and watch trend changes |
| Watch | 60–84 | Check spam rate, DNS and recent provider blocks |
| At risk | Under 60 | Pause or reduce sending while you fix causes |
| Blocked | Login or permission failed | Reconnect credentials before judging deliverability |
A mailbox is ready for outbound only when all three gates pass:
| Ready gate | Required value |
|---|---|
| Warming time | 7+ days |
| 7-day spam rate | 3% or lower |
| Warm-up mail received | 30 or more emails |
Do not start all cold outreach when the first mailbox passes. Segment by domain, provider and health. Start with the healthy group, keep warm-up running, and leave risky mailboxes out of campaigns.
When you send real outreach, stay conservative. A typical ceiling is 30–50 cold emails per day per mailbox. During campaigns, keep warm-up at 10–15 per day. If a mailbox rises above 5% spam rate, pause it for a few days.
Add mailboxes instead of forcing more volume through one inbox. This matters more with agencies, because one aggressive client campaign can affect future sends from the same domain.
If you plan to send from the same mailboxes after warm-up, read how to warm up while sending cold emails. The key is not to stop warm-up when campaigns begin.
Use this checklist before the full upload.
| Step | Action | How to verify |
|---|---|---|
| 1 | Count mailboxes and estimate cost | Match fleet size to the cost table |
| 2 | Request a higher limit if needed | Accounts above 200 mailboxes have approval before upload |
| 3 | Split mailboxes across domains | You typically keep 2–5 mailboxes per domain |
| 4 | Check SPF, DKIM and DMARC | Domain checks show passing records in the dashboard or tools |
| 5 | Turn on Gmail 2-Step Verification | App passwords are available inside the Google account |
| 6 | Create one app password per Gmail mailbox | Each CSV row has its own app_password value |
| 7 | Build the CSV with exact headers | Header is email,app_password,name, plus imap_host if needed |
| 8 | Upload 5–10 rows first | Test rows connect or fail with clear reasons |
| 9 | Fix failed rows and re-upload | Connected rows are skipped; failed rows now pass |
| 10 | Choose shared or private pool | Mailbox pool → Pool mode shows the intended setting |
| 11 | Watch day 1, day 7 and day 14 volume | Fleet totals match the ramp table, with weekends at 30% |
| 12 | Start outreach only after readiness | Each sender has 7+ days, spam ≤3%, and 30+ received emails |
Bulk import works best when the prep is strict. Create app passwords, test a small slice, fix failed rows, then upload the full file. To run it, open the free warm-up tool, choose Add mailbox → Many mailboxes: upload a CSV, and keep the checklist next to you.
Frequently asked questions
What columns do I need for bulk CSV import?
For Gmail, Yahoo and iCloud presets, use email, app_password and name. For other domains, add imap_host. Keep the header row exact. Each row is tested before connection, and failed rows are listed with their reason.
Can I bulk import Gmail accounts without 2-Step Verification?
No, not when using app passwords. Gmail and Google Workspace app passwords require 2-Step Verification. Prepare one app password per mailbox before you upload the CSV.
How many mailboxes can I upload at once?
BobWork’s default account limit is 200 mailboxes. Larger fleets, including 500 or 1,000+ mailboxes, can request a higher limit at info@bobwork.ai before importing.
Will a failed row stop the whole import?
No. Rows are tested individually. Failed rows are listed with the reason, already-connected rows are skipped, and valid rows can connect if billing is active for mailboxes above the free limit.
Should a large fleet use a shared network or private pool?
The shared warm-up network is the default and one mailbox can start there. For fleets of 50+ mailboxes, a private pool is usually cleaner because only your own mailboxes warm each other. Private pools need at least two mailboxes.
When are imported mailboxes ready for outreach?
A mailbox is ready after 7+ days warming, a 7-day spam rate of 3% or lower, and at least 30 warm-up emails received. Keep real outreach conservative, typically 30–50 emails per mailbox per day.
Does CSV import work for Outlook or Microsoft 365?
Not yet in BobWork. Microsoft requires OAuth, so Outlook and Microsoft 365 are not currently supported. Use Gmail, Google Workspace, Zoho, Lark, Yahoo, iCloud, SES, SendGrid, Mailgun, or another IMAP+SMTP mailbox.
Upload your whole fleet in one CSV
10 mailboxes free, then $5, $3 or $2 a month each depending on fleet size. Every row gets a real login test, and failed rows tell you why.