Odoo Email Issues — Diagnosis Flow
| Symptom | Likely Cause | Section |
|---|---|---|
| No emails sent at all | SMTP not configured or credentials wrong | #1 |
| Emails go to spam | Missing SPF/DKIM/DMARC | #2 |
| Emails bounce | Wrong From address or blacklisted IP | #3 |
| Emails stuck in queue | Cron not running or rate limited | #4 |
| Attachment too large | Size limit exceeded | #5 |
1. SMTP Not Configured
Setup: Settings → Technical → Outgoing Mail Servers
# Common SMTP settings:
# Gmail
Server: smtp.gmail.com
Port: 587
Encryption: TLS (STARTTLS)
Username: [email protected]
Password: app-specific password (NOT your Google password)
# Microsoft 365
Server: smtp.office365.com
Port: 587
Encryption: TLS (STARTTLS)
Username: [email protected]
Password: your password (or app password with 2FA)
# Amazon SES
Server: email-smtp.us-east-1.amazonaws.com
Port: 587
Encryption: TLS (STARTTLS)
Username: SMTP credentials from AWS console
Password: SMTP password from AWS console
# SendGrid
Server: smtp.sendgrid.net
Port: 587
Encryption: TLS (STARTTLS)
Username: apikey
Password: your SendGrid API key
# Mailgun
Server: smtp.mailgun.org
Port: 587
Encryption: TLS (STARTTLS)
Username: [email protected]
Password: your Mailgun SMTP passwordClick "Test Connection" after saving. If it fails, check credentials and port.
2. Emails Going to Spam
Missing email authentication records causes spam filtering.
SPF Record
# Add to your DNS:
TXT @ "v=spf1 include:_spf.google.com ~all" # Gmail
TXT @ "v=spf1 include:spf.protection.outlook.com ~all" # Microsoft
TXT @ "v=spf1 include:amazonses.com ~all" # Amazon SES
TXT @ "v=spf1 include:sendgrid.net ~all" # SendGridDKIM
Generate DKIM keys from your email provider and add the TXT record to DNS.
DMARC
# Add to DNS:
TXT _dmarc "v=DMARC1; p=quarantine; rua=mailto:[email protected]"3. Emails Bouncing
- Wrong From address — The From email must be authorized by your SMTP provider. If using Gmail, the From must be your Gmail address.
- Blacklisted IP — Check if your server IP is on a blacklist: MXToolbox Blacklist Check
- Invalid recipient — Check the bounce message for details
4. Emails Stuck in Queue
# Check email queue:
# Settings → Technical → Emails → Emails
# Filter by "Outgoing" state
# Check if mail cron is running:
# Settings → Technical → Automation → Scheduled Actions
# Look for "Mail: Email Queue Manager"
# Verify it's active and check last execution time
# Force send queued emails:
# In developer mode → Technical → Emails → select stuck emails → Send Now5. Attachment Size Limit
# odoo.conf — increase if needed
# Default is typically 25MB
# nginx — increase client_max_body_size
client_max_body_size 50m;Debugging Tips
# Enable mail debug logging
# odoo.conf:
log_handler = odoo.addons.mail:DEBUG
# Check mail log:
grep -i "mail\|smtp\|email" /var/log/odoo/odoo.log | tail -50DeployMonkey Email
DeployMonkey handles SMTP configuration for managed instances. The AI agent diagnoses email delivery issues — checking SPF/DKIM, SMTP connectivity, and queue status through the control panel.