To send the same email to many people so each one receives their own copy, use mail merge: write the message in Word, connect an Excel list, and choose Finish & Merge > Send Email Messages. Word sends one email per row, each with only that person in the To line and their name in the greeting. This works with classic Outlook for Windows. If you only need to hide the recipient list and don't need names, put everyone in Bcc.
One version catch: the new Outlook for Windows and Outlook on the web can't send Word's merge, and their built-in mail merge sends separate copies without personalization for most accounts as of October 2026 (a personalized version is in development, with an August 2026 preview date).
Which method fits your send
The right method depends on three things: whether each person must see only their own address, whether the email needs their name or other details, and which Outlook you use.
| Method | Each recipient gets their own To line | Personalized fields | Per-person attachments | Works in | Best for |
|---|---|---|---|---|---|
| Bcc | No (they see your address or a blank To line) | No | Same file for all | All Outlook versions | Quick notices to a small group that expects your email |
| Contact group in Bcc | No | No | Same file for all | All Outlook versions | Recurring sends to the same group |
| Built-in mail merge (new Outlook, Outlook on the web) | Yes | No (as of Oct 2026) | No | New Outlook for Windows, Outlook on the web | Identical message, separate threads |
| Word mail merge | Yes | Yes | No (links only) | Classic Outlook for Windows; Mac with caveats | Personalized emails to a list from Excel |
| PowerShell + Microsoft Graph | Yes | Yes | Yes (files under 3 MB as written) | Microsoft 365 work or school accounts; no Outlook app needed | Per-person files, repeatable sends |
| Dedicated sending tool | Yes | Yes | Varies by tool | Connects to your mailbox | Sales outreach with follow-ups, newsletters, large lists |
Two quick checks settle most cases. If the message needs a name, a company, or any detail that changes per person, use mail merge or a script. If the list is large or the emails are commercial, read the limits section before you send anything.
Check which Outlook you have first
Your Outlook version decides which methods are available, so confirm it before you build a list. On Windows, Microsoft's rule of thumb in What version of Outlook do I have? applies: if you see a Settings button in the top-right corner, you have the new Outlook for Windows. If you see a File tab and no Settings button, you have classic Outlook.
New Outlook for Windows users can run a Word mail merge only by switching to classic Outlook. Microsoft confirms that Word's mail merge "needs classic Outlook to read your Outlook contacts and to send the merged email messages" (Microsoft Support). Switch back with the toggle at the top right of new Outlook, or, if your build has no toggle, open Outlook (classic) from the Start menu.
How to send separate, personalized emails with mail merge
Word mail merge creates one email per row of your list and hands each one to classic Outlook to send. Each recipient sees only their own address, and every field you insert (first name, company, renewal date) is filled from their row. The steps below are for Word and classic Outlook on Windows (Mac differences follow in the next section) and follow Microsoft's guide, Use mail merge in Word to send bulk email messages.
Step 1: Build the list in Excel. Put one header per column in row 1 and avoid blank columns, for example FirstName, Company, and Email. Every row needs an email address. Format ZIP codes and other numbers with leading zeros as text so Excel doesn't strip them. Save and close the workbook.
Step 2: Start the merge in Word. Open a blank document and go to Mailings > Start Mail Merge > E-mail Messages.

Step 3: Connect the list. Go to Mailings > Select Recipients > Use an Existing List, pick the workbook, choose the sheet, and keep First row of data contains column headers checked.

Step 4: Write the message. Type the email body in Word. Keep the layout simple (short paragraphs, standard fonts) because Word sends the document as HTML email.
Step 5: Insert fields. Use Mailings > Greeting Line for a ready-made "Dear FirstName," or place your cursor and use Insert Merge Field to add any column, such as «Company».

Step 6: Preview. Choose Preview Results and click through several records. Look for blank names, odd spacing, and rows with missing data.

Step 7: Send a test. Point the merge at a copy of the sheet that holds only your own address (Select Recipients > Use an Existing List), run Finish & Merge > Send Email Messages, and check the email in your inbox on desktop and phone. Then reconnect the full list.
Step 8: Send to everyone. Run Finish & Merge > Send Email Messages again. In To, choose your Email column. Type the Subject line, keep Mail format on HTML, select All, and click OK.

Word sends through classic Outlook's default account. If you have several accounts, set the right one as default in File > Account Settings before you merge; a Microsoft Q&A moderator answer also suggests turning on Always use the default account when composing new messages under File > Options > Mail.
Above 30 messages a minute, Exchange Online throttles the excess and carries it over to the following minutes, which "will typically not block" the account, so a 300-row merge needs at least 10 minutes to send. Microsoft adds that Exchange Online "isn't suited to accommodate bulk-mailing scenarios."
Personalization fields worth using
Merge fields can fill any column from your list, and a few well-chosen ones make a template read like a one-to-one note.
- Greeting Line inserts a formatted greeting and lets you set a fallback ("Dear Customer,") for rows with no name.
- Insert Merge Field places any Excel column in the body: company, account manager, renewal date, order number, or a custom sentence you wrote per row.
- Rules > If...Then...Else adds text only for rows that match a condition, for example a "Your renewal is overdue" line when a status column says Overdue. Microsoft covers the options in Set the rules for a mail merge.
- A custom-line column in Excel (one sentence per person) is the simplest way to add a personal line without complex rules.
The subject line box accepts plain text only, so every recipient gets the same subject. Put the personal detail in the first line of the body, where it shows in most inbox previews.
What Word mail merge can't do
Microsoft's guide states the three limits: "Word sends an individual message to each email address. You cannot CC or BCC other recipients. You cannot add attachments, but you can include links."
- No attachments. Upload the file to OneDrive or SharePoint and link to it, or use the PowerShell method below for per-person files.
- No Cc or Bcc. If a manager needs a copy, add their address as a separate row or forward one sent copy.
- One subject for all. See the note above.
- No new Outlook or Word for the web. On Windows, the merge needs desktop Word and classic Outlook on the same PC.
- If nothing sends on Windows: check that you're in classic Outlook, that it's your default mail app, and that it's open and signed in while Word merges.
Does mail merge work in new Outlook, Outlook on the web, and Mac?
Partly, as of October 2026. Microsoft's feature comparison between new and classic Outlook (last updated September 23, 2026) lists mail merge as "Available" in classic Outlook and "Partially Available" in new Outlook. The fuller version is Microsoft 365 roadmap item 423047, "Mail Merge (Advanced)", which describes giving each recipient "their own email with only their email address in the recipients list" plus personalized content "such as their name." On October 5, 2026, the roadmap still listed it as In development, with an August 2026 public preview date for Targeted Release tenants and a September 2026 target, both now passed. If your work account is on Targeted Release, check the Send menu for personalized fields before switching to classic.
| Outlook version | Word mail merge | Built-in mail merge | What to do (as of Oct 2026) |
|---|---|---|---|
| Classic Outlook for Windows | Yes | Not needed | Use Word mail merge |
| New Outlook for Windows | No | Basic: separate copies, no personalization | Switch to classic for personalized sends, or use the basic merge for identical messages |
| Outlook on the web (work or school) | No | Basic, same as new Outlook | Use Bcc, the basic merge, or a script |
| Outlook for Mac | Word for Mac offers Merge to E-Mail, which places messages in Outlook's Outbox | Not documented | Test with two or three rows first (see below) |
The built-in basic merge in new Outlook and on the web sends each address its own copy, so each reply arrives as its own conversation. It cannot insert names or other fields, so it works like Bcc that gives each person a separate thread. To start it, select the arrow next to Send in a new message, then Start mail merge; Microsoft notes it "doesn't insert personalized fields from your contacts" (Microsoft Support).
On a Mac, Microsoft's steps end with Merge to E-Mail > Mail Merge To Outbox, which is unavailable until you select a default email program. Microsoft doesn't document whether the current Outlook for Mac completes these merges, and user reports on Microsoft Q&A are mixed (one, two). The old workaround (switching to legacy Outlook) is closing: Microsoft says legacy Outlook for Mac stops working with Exchange Online mailboxes starting October 2026.
How to use Bcc, and when it's the wrong choice
Bcc (blind carbon copy) sends one message to everyone while hiding the list: each recipient sees the To line and their own inbox copy, but no other Bcc addresses. It is the fastest option for a short notice to people who expect to hear from you, and it can't personalize anything.
New Outlook for Windows and Outlook on the web: open a new message, go to Options > Show fields, and select Show Bcc. Classic Outlook: in a pop-out message, select Options > Bcc; in the Reading Pane, select Bcc on the ribbon. Once on, the field stays visible for future messages (Microsoft Support).
Fill the fields this way:
- To: your own address, or leave it blank. Recipients will see whatever is here, so they can tell the email went to a group.
- Bcc: every recipient, or a contact group.
- Reply All: Bcc recipients can't reply to each other, because their addresses aren't in the message they receive.
Bcc is a weak choice for mass email, for three reasons. Microsoft warns in the same article that "Using Bcc is a favorite technique of spammers. Therefore, many junk email filters flag messages that use the Bcc box as junk," and advises making sure recipients expect your message. Every Bcc address still counts toward your sending limits. The email also reads as a broadcast, so it works poorly for anything where the recipient should feel addressed.
Contact groups (contact lists)
A contact group saves a set of addresses under one name, so one name in the Bcc field stands for every address in it. New Outlook and Outlook on the web call it a contact list (People > Add to list > New contact list); classic Outlook calls it a contact group (People > New Contact Group), per Microsoft Support.
Put the group in Bcc. A personal group in the To line expands on sending, so every member sees every other member's address, as a Microsoft Q&A answer on this exact question notes. For limits, Microsoft counts each member of a personal contact group as a separate recipient; only distribution groups in your organization's shared address book count as one, and the tenant-wide external-recipient limit still counts every member.
Outlook sending limits
Outlook caps how many people you can email per day and per message, and mail merge copies count the same as any other email. The figures below come from Microsoft's Exchange Online limits and Sending limits in Outlook.com, checked October 5, 2026.
| Limit | Work or school account (Exchange Online) | Outlook.com (Microsoft 365 subscriber) |
|---|---|---|
| Recipients per day | 10,000 per mailbox, rolling 24 hours | 5,000 |
| Recipients per message (To + Cc + Bcc) | Set by your admin, up to 1,000 | 500 |
| Messages per minute | 30 | Not published |
| Other caps | Tenant-wide daily limit on external recipients, scaled to license count (5,000 for trial tenants) | 1,000 recipients per day you've never emailed before |
Outlook.com limits "will be lower for non-subscribers," and new accounts start with a low quota that rises as the account builds history, according to Microsoft. When an Exchange Online mailbox hits 10,000 recipients, it can't send again until the count over the past 24 hours drops below the limit.
Can you send an email to 1,000 recipients in Outlook? On a work account, yes. A single message can reach 1,000 people only if your admin has set the per-message limit (adjustable from 1 to 1,000) to its maximum. A 1,000-row mail merge stays well under the 10,000-a-day limit and takes at least 34 minutes at 30 messages a minute. On Outlook.com with a Microsoft 365 subscription, one message tops out at 500 recipients, so 1,000 people means a mail merge or two messages, and no more than 1,000 of them can be people you've never emailed. Free accounts get lower limits. Microsoft's limits page adds that customers sending "legitimate bulk commercial email (for example, customer newsletters) should use third-party providers that specialize in these services."
How to send each person a different attachment
Word mail merge cannot attach files, and neither Bcc nor the built-in merge can send a different file to each person. Pick from three workable routes:
- Links: upload each file to OneDrive or SharePoint, put the link in an Excel column, and insert it as a merge field. Check the sharing permission on each link before you send.
- Small batches: if only three or four versions exist (one price sheet per region), split the list by version and run one merge or Bcc per group.
- A script: the PowerShell method below attaches a file from a path in each row.
Third-party Outlook add-ins also handle per-recipient attachments. Check their data access and pricing before you install one on a work account.
Send individually with PowerShell and Microsoft Graph
A short PowerShell script can send one email per row of a CSV, with a personalized body and an optional file per person, through Microsoft Graph's sendMail API. It runs from a Microsoft 365 work or school account without the Outlook app, and saves each sent copy to your Sent Items.
Create recipients.csv with these columns (leave Attachment empty when there's no file):
FirstName,Email,Attachment
Maria,maria@example.com,
Sam,sam@example.com,C:\Quotes\quote-sam.pdf
Then run this script after installing the module with Install-Module Microsoft.Graph.Users.Actions -Scope CurrentUser:
# Sends one separate, personalized email per row of recipients.csv
Connect-MgGraph -Scopes "Mail.Send"
$sender = "you@yourcompany.com" # must be the account you sign in with
$subject = "Your onboarding call next week"
$rows = Import-Csv -Path ".\recipients.csv"
foreach ($row in $rows) {
$name = [System.Net.WebUtility]::HtmlEncode($row.FirstName)
$html = "<p>Hi $name,</p><p>Your onboarding call is confirmed. Reply to this email if the time no longer works.</p>"
$message = @{
subject = $subject
body = @{ contentType = "HTML"; content = $html }
toRecipients = @( @{ emailAddress = @{ address = $row.Email } } )
}
try {
if ($row.Attachment) {
$message.attachments = @( @{
"@odata.type" = "#microsoft.graph.fileAttachment"
name = Split-Path $row.Attachment -Leaf
contentBytes = [Convert]::ToBase64String([IO.File]::ReadAllBytes($row.Attachment))
} )
}
Send-MgUserMail -UserId $sender -BodyParameter @{ message = $message; saveToSentItems = $true } -ErrorAction Stop
Write-Host "Accepted for $($row.Email)"
} catch {
Write-Warning "Failed for $($row.Email): $($_.Exception.Message)"
}
Start-Sleep -Seconds 3 # about 20 messages a minute, under Exchange Online's 30-per-minute limit
}
Points to know before you run it:
- Sign-in:
Connect-MgGraphopens a Microsoft sign-in and asks for the Mail.Send permission. Some organizations require an admin to approve that permission first. - Attachment size: keep each file under 3 MB and use full file paths. Base64 encoding makes each file about a third larger inside the request. Microsoft's guidance on attaching large files requires an upload session for files from 3 MB to 150 MB, which this short script doesn't handle.
- Limits still apply: Microsoft notes that sendMail delivery "is subject to Exchange Online limitations and throttling," so the table above governs scripts too.
- Test first: run it with a CSV that contains only your own address.
- Accepted is not delivered: Graph answers each send with 202 Accepted, which Microsoft says "doesn't indicate that the request processing has completed." Check Sent Items and bounces after a run.
We parsed this script in PowerShell 7.4, confirmed the Send-MgUserMail and Connect-MgGraph parameters against Microsoft.Graph module 2.41.1, and dry-ran it with the send command stubbed out: each row produced the expected message, and a missing file and a simulated permission error each printed a warning while the loop moved on to the next row. No live emails were sent in testing.
Developers working in Python, Node.js, or C# can use the same pattern: one POST /users/{id}/sendMail call per recipient. Microsoft's sendMail reference includes ready code samples for C#, JavaScript, Python, and PowerShell, including a message with a file attachment. Classic Outlook VBA macros can also loop through a list, but Microsoft lists VBA as not supported in the new Outlook, so a macro stops working when your organization moves.
How to keep separate emails out of spam
Sending separately avoids the Bcc red flag, but filters still judge the sender, the list, and the pace. These habits lower the chance that a merge or script lands in junk folders:
- Email people who expect it. Microsoft's Bcc guidance says to make sure recipients expect your message, and its high-volume sender rules tie list hygiene to fewer spam complaints. Complaints hurt every later send.
- Authenticate your domain with SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), and DMARC (Domain-based Message Authentication, Reporting, and Conformance). For domains sending more than 5,000 emails a day to Outlook.com, Hotmail, and Live addresses, Microsoft requires SPF and DKIM to pass and a DMARC policy of at least p=none that aligns with SPF or DKIM, and since May 5, 2025 rejects messages that fail (Microsoft Tech Community). Lower-volume senders benefit from the same setup.
- Clean the list. Remove bounced and mistyped addresses before you send; Microsoft names list hygiene and bounce management among its recommended practices.
- Pace large sends. Split big lists across hours or days, especially from a new account or a new domain.
- Keep formatting light. One or two links, no large images, and a plain layout read as a personal email.
- Offer an opt-out for marketing email. Microsoft asks large senders for a working unsubscribe option, and the CAN-SPAM Act requires a clear opt-out in US marketing email.
- Use a monitored reply address. Replies are the point of sending individually, so send from a mailbox someone reads.
When to use a dedicated sending tool
Outlook's built-in options stop fitting once the job needs follow-ups, tracking, or volume. Microsoft's own limits page points bulk commercial senders to specialist providers. A dedicated tool makes sense when:
- You need follow-ups. Mail merge sends once. If people who don't reply should get a second and third email, a sequencing tool automates that and stops when someone answers.
- You're doing sales outreach. Sending cold or warm outreach from a work mailbox at volume risks your domain's reputation. Tools that pace sends, warm up the address, and monitor SPF, DKIM, and DMARC can reduce that risk.
- You send newsletters. Marketing email to subscribers belongs in an email service provider with unsubscribe handling and list management.
- The list is large or recurring. Re-running a Word merge every week invites mistakes.
For sales teams, Alore's Drip Campaigner sends personalized email sequences with automated follow-ups and tracks opens, clicks, and responses. For a one-off personalized email to a list of colleagues or customers, Word mail merge is still the simplest answer. More on writing the sequence itself: email sequences, follow-up emails, and email personalization.
FAQ
How do I send the same email to multiple recipients separately in Gmail?
Gmail has its own mail merge on Google Workspace Individual, Business Standard, Business Plus, Enterprise Standard and Plus, and Education Standard and Plus. It sends each person an individual copy with merge tags such as @firstname, for up to 1,500 recipients a day, per Google's Gmail Help. On a free Gmail account, use Bcc or a mail merge add-on.
Can recipients tell the email went to others?
With mail merge or a script, each person sees only their own address in the To line, so the message headers carry no trace of the other recipients. With Bcc, recipients see your address or an empty To line, which suggests a group send.
Does mail merge use up my sending limit faster than Bcc?
No. Both count recipients. A Bcc to 200 people and a 200-row merge each count as 200 recipients toward the daily limit; the merge also counts as 200 messages for the 30-per-minute rate, which Exchange Online smooths by throttling.
The short version
For personalized, separate emails in Outlook today, use Word mail merge with classic Outlook for Windows, test on yourself first, and stay inside the daily recipient limit for your account type. Use Bcc only for short, expected notices where names don't matter. If you're on the new Outlook for Windows or Outlook on the web, switch to classic Outlook for the merge, use the built-in basic merge when the message is identical for everyone, or, on a work or school account, use the PowerShell script. On a Mac, test Word's Merge to E-Mail with two or three rows first. Watch Microsoft's roadmap for the advanced mail merge. When the send becomes a recurring campaign with follow-ups, move it to a tool built for that job.



