Gmail Integration Checklist
App Passwords, Django config per environment, daily limits, when to switch to SendGrid.
Run this checklist when using Gmail SMTP for sending email (dev/internal/low-volume tools).
Standard: Gmail Standard
1. Decision — Is Gmail Appropriate?
[ ] Confirmed this is NOT a production app sending to real users at scale [ ] Confirmed daily volume is well within Gmail limits (< 500/day personal, < 2000/day Workspace) [ ] Confirmed this is for: development, internal tool, admin notifications, or staging only [ ] If any of the above are not true — switch to SendGrid before proceeding
2. Gmail Account
[ ] Using a dedicated Gmail/Workspace account for the app — not a personal email [ ] 2-Step Verification is enabled on the account (required for App Passwords)
3. Authentication
[ ] App Password generated (if using SMTP): 16-character password from Google Security settings [ ] App Password stored in environment variable: GMAIL_APP_PASSWORD [ ] App Password NOT committed to version control [ ] Main account password NOT used as EMAIL_HOST_PASSWORD anywhere in code
4. Django Configuration
[ ] EMAIL_BACKEND set correctly per environment:
- Local:
console.EmailBackendorfilebased.EmailBackend(no real sending) - Staging: MailHog/MailPit (catches emails without sending)
- Internal production:
smtp.EmailBackendwith Gmail SMTP credentials
[ ] EMAIL_HOST = 'smtp.gmail.com' [ ] EMAIL_PORT = 587 [ ] EMAIL_USE_TLS = True [ ] EMAIL_HOST_USER set from environment variable [ ] EMAIL_HOST_PASSWORD set from environment variable (App Password, not main password)
5. Environment Variables
[ ] GMAIL_USER set in environment [ ] GMAIL_APP_PASSWORD set in environment [ ] No credentials in settings files, config files, or source code
6. Limits and Monitoring
[ ] Current daily email volume tracked (stay under limit) [ ] If volume grows close to limit: SendGrid migration planned
7. When to Switch
[ ] Team knows the trigger to switch to SendGrid:
- Approaching 500/day limit
- Sending to external/real users
- Need email analytics or deliverability tracking
- Emails landing in spam
Standard: Gmail Standard