Mail MergeSign in

Using Mail Merge

A run goes onboard → upload → compose → preview → test → confirm → send. Here is each step.

1. Connect your SMTP server

Add your own SMTP server — host, port, username, password, and the from address. Mail Merge runs a live connection check and only saves the server once it verifies, so a bad host or credential is caught before any campaign. Your password is encrypted at rest and never shown back to you.

2. Upload your CSV

Upload a CSV with a header row and one row per recipient. Mail Merge detects the email column automatically and lets you override it if the guess is wrong. Every column header becomes a merge field you can drop into the email.

3. Compose your email

Write a plain-text subject and body in the editor. Type {{ to autocomplete a merge field from your CSV columns — in both the subject and the body — so each recipient gets their own values filled in.

4. Preview and validate

Step through the merge row by row to see exactly what each recipient will receive. Rows with an empty value for a merge field you used are flagged with a warning, so you can fix your data before sending anything blank.

5. Test-send

Send the whole batch to a single address to proof it end to end. Every row is really merged and delivered, but all of it lands in one inbox — a full dress rehearsal that touches none of your recipients.

6. Confirm and send

A live send is gated behind an explicit confirmation so a batch can never fire by accident. Once you confirm, Mail Merge verifies the SMTP connection again and starts delivering one personalized email per row through your own server.

7. Watch progress and download the record

A background worker sends each email with a throttle between rows and reports live per-recipient progress — sent, failed, and how many remain. When the run finishes, you keep a saved record of exactly what was sent and to whom, downloadable as a CSV.

Prefer the command line or an AI agent? See the agents page.