Autonomous email outreach with Gmail SMTP and Node.js
Description and use
Automating cold outreach via Gmail SMTP using Node.js, covering project setup, personalized HTML email sending, and Gmail rate‑limit compliance.
Problem
Cold email outreach is tedious and time‑consuming.
Outcome
The script sends personalized emails through Gmail SMTP, reducing manual effort and enabling scaling with rate limiting.
Workflow
- Create project directory and init npm
- Install nodemailer and dotenv
- Create .env with GMAIL_USER and GMAIL_PASSWORD (App Password)
- Write index.js: load env, create transporter, define sendEmail, loop over recipients, send personalized HTML
- Run node index.js
- Add optional Handlebars for dynamic templates
- Implement rate limiting to avoid Gmail limits
Evidence
I used to spend hours crafting personalized emails, copying and pasting, and generally feeling like a robot pretending to be a human.
This article details how I built a Node.js script to automate email outreach using Gmail’s SMTP server.
Be aware of Gmail's sending limits. Sending too many emails too quickly can get your account flagged or even blocked.
- Record date: 2026-10-07T19:41:05.376Z