A self-hosted campaign manager that sends personalized emails through your own Gmail accounts. Supports OAuth2 and manual SMTP, dynamic placeholders, PDF attachments, and built-in compliance with unsubscribe links and rate limiting.
Everything you need to run compliant, personalized email campaigns through Gmail.
Connect accounts via Google OAuth2 consent flow or manual SMTP with App Passwords. Supports up to 10 accounts with automatic rotation and rate limiting.
Personalize every email with recipient data, random names, company names, invoice numbers, dates, totals, and more — all replaced at send time.
Convert HTML invoice templates to PDF attachments automatically. Attach plain-text copies, HTML copies, or standard files from your template library.
Import up to 2,000 recipients per campaign via CSV. Automatic deduplication, email validation, and column mapping for first name, last name, company, and email.
Automatic unsubscribe links, compliance footers, daily sending caps, per-account rate limits, and a suppression list to honor opt-outs.
Live send log, progress bar, ETA calculation, pause/resume/stop controls, and per-email status tracking with detailed error reporting.
Every placeholder is replaced at send time with real or generated data. Click any chip in the app to insert it into your template.
| Placeholder | Replaced With |
|---|---|
| %FirstName% | Recipient's first name |
| %LastName% | Recipient's last name |
| %CompanyName% | Recipient's company name |
| %RandomCompanyName% | Random real company name from 946-name pool (Company.xlsx) |
| %CompanyPhone% | Random phone from the phone pool |
| %CustomerEmail% | Recipient's email address |
| %RandomName% | Random name from 304k name pool |
| %RandomInvoiceNumber% | Realistic invoice number (INV-/ORD-/RF patterns) |
| %InvoiceDate% | Random invoice date (today or recent past) |
| %DueDate% | Due date (7–30 days after invoice date) |
| %RandomTotal% | Random invoice total ($300–$1,500, no repeats) |
| %RandomShippingCharge% | Random shipping charge ($5–$50) |
| %UnsubscribeLink% | Unique unsubscribe URL per recipient |
Get up and running in four simple steps.
Upload your Google OAuth credentials.json or add Gmail accounts manually with App Passwords. Up to 10 accounts supported.
Upload a CSV with up to 2,000 contacts. The system validates emails, deduplicates, and maps columns automatically.
Write your email with placeholders, choose HTML or plain text, attach PDFs, and preview with sample data before sending.
Start the campaign and watch real-time progress. Pause, resume, or stop at any time. Export a CSV report when done.
Built with email regulations and best practices in mind.
Every email includes a unique one-click unsubscribe URL. Opted-out recipients are added to a suppression list and never emailed again.
Configurable delays between sends, per-account daily caps, and a global daily cap to stay within Gmail's sending limits.
Automatic physical address and permission reminder appended to every email, satisfying CAN-SPAM and CASL requirements.
If Gmail returns rate-limit or auth errors, the campaign pauses automatically to protect your sender reputation.
You're receiving this email because you opted in to communications from Acme Corp.
Acme Corp · 123 Business Ave, Suite 100 · New York, NY 10001
Sign in to the dashboard and start sending personalized, compliant emails through Gmail in minutes.
Get Started