Home › Bulk warm-up

How to Bulk Import Email Accounts From a CSV

By BobWorkUpdated 2026-10-3110 min read
CSV mailbox import for bulk email warm-up with passed and failed row checks

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.

MailboxesFreePaid extraMonthly cost
10100$0
201010$30
251015$45
501040$120
1001090$180
15010140$280
20010190$380
30010290$580
50010490$980
1,00010990$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:

  1. Sign in to the mailbox.
  2. Turn on 2-Step Verification.
  3. Create an app password for mail access.
  4. Copy the app password into the CSV row.
  5. Repeat for every Gmail or Workspace mailbox.
  6. Upload 5–10 rows first.
  7. 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 reasonWhat it usually meansFix
Authentication failedWrong app password, expired app password, or normal password usedCreate a fresh app password and replace the CSV value
2-Step Verification missingGmail app passwords are not availableEnable 2-Step Verification, then create the app password
IMAP not availableProvider or admin setting blocks IMAPEnable IMAP or change the provider policy, then re-test
Host not foundWrong imap_host for a non-preset domainUse the provider’s current IMAP host guidance
Already connectedThe mailbox is already active in the accountNo action needed; the row is skipped safely
Billing neededThe import exceeds the free mailbox allowanceActivate billing or reduce the CSV to the free allowance
Account limit reachedThe account is at the default mailbox limitRequest 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.

MailboxesDay 1, 3 eachDay 7, 15 eachDay 14, 29 eachDay 15+, 30 each
501507501,4501,500
1003001,5002,9003,000
2006003,0005,8006,000
5001,5007,50014,50015,000
1,0003,00015,00029,00030,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.

RecordWhat to checkWhy it matters
SPFThe sending service is authorisedReceivers can verify the sending source
DKIMThe provider selector is found and passingMail can be cryptographically signed by the domain
DMARCA policy exists, at least p=none during setupReceivers 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:

StatusScore or conditionWhat to do
Healthy85–100Keep warming and watch trend changes
Watch60–84Check spam rate, DNS and recent provider blocks
At riskUnder 60Pause or reduce sending while you fix causes
BlockedLogin or permission failedReconnect credentials before judging deliverability

A mailbox is ready for outbound only when all three gates pass:

Ready gateRequired value
Warming time7+ days
7-day spam rate3% or lower
Warm-up mail received30 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.

StepActionHow to verify
1Count mailboxes and estimate costMatch fleet size to the cost table
2Request a higher limit if neededAccounts above 200 mailboxes have approval before upload
3Split mailboxes across domainsYou typically keep 2–5 mailboxes per domain
4Check SPF, DKIM and DMARCDomain checks show passing records in the dashboard or tools
5Turn on Gmail 2-Step VerificationApp passwords are available inside the Google account
6Create one app password per Gmail mailboxEach CSV row has its own app_password value
7Build the CSV with exact headersHeader is email,app_password,name, plus imap_host if needed
8Upload 5–10 rows firstTest rows connect or fail with clear reasons
9Fix failed rows and re-uploadConnected rows are skipped; failed rows now pass
10Choose shared or private poolMailbox pool → Pool mode shows the intended setting
11Watch day 1, day 7 and day 14 volumeFleet totals match the ramp table, with weekends at 30%
12Start outreach only after readinessEach 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.

Start free