DEV Community

Vemtrac Labs
Vemtrac Labs

Posted on

How I Built a Cold Email Outreach Pipeline That Sends 500+ Personalized Emails for $0/month

i run an outreach pipeline that scraped 1,190 prospects across 4 niches and 54 countries. the entire thing runs on python scripts, a linux server, and gmail. total monthly cost: zero.

here's the technical breakdown of how it works and what i learned from 367 emails sent before gmail shut me down.

the stack

  • python 3 for everything — scraping, email generation, sending, monitoring
  • beautifulsoup4 for scraping agency websites and extracting emails
  • smtplib for sending via gmail SMTP with app password
  • cron jobs for scheduling sends (25/day to stay under gmail limits)
  • json files for batch management and sent logs

the scraping pipeline

each prospect goes through 3 steps:

  1. web search — find agencies in target city + niche
  2. email extraction — scrape contact pages for email addresses, filter out images and spam traps
  3. site scan — run my SEO analyzer against their domain to find real issues for personalization

the scan results feed directly into the email template so each pitch references actual problems on their site. not "your SEO could be better" but "your site is missing alt text on 23 images and has no meta descriptions on 4 pages."

the sending system

gmail gives you about 25 sends per day before it starts getting suspicious. i space them 2.5 minutes apart and reconnect SMTP every 10 emails to avoid timeout disconnects.

the sender script:

  • loads the batch json
  • checks against sent log to skip already-sent
  • sends with 2.5 min delay
  • logs each send with timestamp
  • stops on any SMTP error

what happened

367 emails sent across 54 countries. 3 replies (0.82% response rate). then gmail restricted the account for "sending unwanted content." appeal submitted, waiting for resolution.

the pipeline itself works. the emails land. the personalization is real. the channel just has a ceiling enforced by gmail.

what i'd do differently

  1. use a dedicated email service (sendgrid, mailgun) instead of personal gmail
  2. warm up the sending domain properly before blasting
  3. start with 10/day and ramp up over 2 weeks
  4. segment by niche and A/B test subject lines

the tools

i packaged some of this into products:

if you're building outreach automation, the hardest part isn't the code. it's staying under the radar of email providers while sending enough volume to get results.

Top comments (0)