Provider Configuration
Each email provider has specific SMTP and IMAP settings. This guide covers the configuration for supported providers.
Google Workspace
Configuration
| Setting | Value |
|---|
inbox_type | GOOGLE_WORKSPACE |
smtp_host | smtp.gmail.com |
smtp_port | 587 |
smtp_use_tls | true |
imap_host | imap.gmail.com |
imap_port | 993 |
imap_use_ssl | true |
| Max daily limit | 2,000 |
App Password Setup
Google requires app-specific passwords when 2FA is enabled:
- Go to Google Account Settings
- Navigate to Security > 2-Step Verification
- Scroll to “App passwords”
- Generate a new app password for “Mail”
- Use the generated password in
smtp_password and imap_password
Example Request
requests.post(
f"{base_url}/api/public/v1/sender-accounts",
headers={"X-API-Key": api_key},
json={
"email_address": "[email protected]",
"display_name": "John Smith from Company",
"inbox_type": "GOOGLE_WORKSPACE",
"daily_limit": 50,
"smtp_host": "smtp.gmail.com",
"smtp_port": 587,
"smtp_username": "[email protected]",
"smtp_password": "your-app-password",
"smtp_use_tls": True,
"imap_host": "imap.gmail.com",
"imap_port": 993,
"imap_username": "[email protected]",
"imap_password": "your-app-password",
"imap_use_ssl": True
}
)
Microsoft 365
Configuration
| Setting | Value |
|---|
inbox_type | OUTLOOK_365 |
smtp_host | smtp.office365.com |
smtp_port | 587 |
smtp_use_tls | true |
imap_host | outlook.office365.com |
imap_port | 993 |
imap_use_ssl | true |
| Max daily limit | 10,000 |
App Password Setup
For Microsoft 365 accounts with modern authentication:
- Go to Microsoft Account Security
- Navigate to Advanced security options
- Find “App passwords” section
- Create a new app password
- Use the generated password in your configuration
Some Microsoft 365 tenants may not require app passwords if SMTP authentication is enabled. Check your organization’s security policies.
Example Request
requests.post(
f"{base_url}/api/public/v1/sender-accounts",
headers={"X-API-Key": api_key},
json={
"email_address": "[email protected]",
"display_name": "Sales Team at Company",
"inbox_type": "OUTLOOK_365",
"daily_limit": 75,
"smtp_host": "smtp.office365.com",
"smtp_port": 587,
"smtp_username": "[email protected]",
"smtp_password": "your-app-password",
"smtp_use_tls": True,
"imap_host": "outlook.office365.com",
"imap_port": 993,
"imap_username": "[email protected]",
"imap_password": "your-app-password",
"imap_use_ssl": True
}
)
Custom SMTP
Use custom SMTP for any email provider not listed above.
Configuration
| Setting | Description |
|---|
inbox_type | CUSTOM_SMTP |
smtp_host | Your SMTP server hostname |
smtp_port | Your SMTP port (typically 587 or 465) |
smtp_use_tls | Enable TLS (recommended) |
imap_host | Your IMAP server hostname |
imap_port | Your IMAP port (typically 993) |
imap_use_ssl | Enable SSL (recommended) |
| Max daily limit | 100,000 |
Common Ports
| Port | Protocol | Use Case |
|---|
| 587 | SMTP + STARTTLS | Recommended for most providers |
| 465 | SMTP + SSL | Legacy, but still common |
| 25 | SMTP | Often blocked by ISPs |
| 993 | IMAP + SSL | Standard IMAP port |
Example Request
requests.post(
f"{base_url}/api/public/v1/sender-accounts",
headers={"X-API-Key": api_key},
json={
"email_address": "[email protected]",
"display_name": "Outreach Team",
"inbox_type": "CUSTOM_SMTP",
"daily_limit": 100,
"smtp_host": "mail.mydomain.com",
"smtp_port": 587,
"smtp_username": "[email protected]",
"smtp_password": "your-password",
"smtp_use_tls": True,
"imap_host": "mail.mydomain.com",
"imap_port": 993,
"imap_username": "[email protected]",
"imap_password": "your-password",
"imap_use_ssl": True
}
)
Connection Validation
ColdSend validates both SMTP and IMAP connections before activating an account:
SMTP Validation
- Connect to the SMTP server
- Send EHLO command
- Start TLS if enabled
- Authenticate with credentials
- Verify login succeeds
IMAP Validation
- Connect to the IMAP server
- Login with credentials
- Verify login succeeds
Validation Errors
| Error | Description |
|---|
AUTH_FAILED | Invalid username or password |
CONNECTION_FAILED | Cannot reach the server |
TIMEOUT | Connection timed out (10 second limit) |
HOST_NOT_FOUND | DNS resolution failed |
SSL_ERROR | SSL/TLS handshake failed |
CONNECTION_REFUSED | Port not accepting connections |
Daily Sending Limits
Recommended Limits by Account Age
| Account Age | Recommended Daily Limit |
|---|
| New (0-2 weeks) | 20-30 emails/day |
| Warming (2-4 weeks) | 50-80 emails/day |
| Established (4+ weeks) | 80-100 emails/day |
Why Lower Limits?
Starting with lower limits helps:
- Build sender reputation
- Avoid triggering spam filters
- Maintain high deliverability rates
- Gradually warm up the account
Security Recommendations
Use App Passwords
Always use app-specific passwords instead of your main email password:
- App passwords have limited scope
- Can be revoked without changing your main password
- Required when 2FA is enabled
- More secure for API integrations
Never Share Credentials
- Do not share SMTP/IMAP passwords
- Revoke app passwords when no longer needed
- Use unique passwords for each integration
Monitor Account Activity
Regularly check:
- Sent folder for unexpected emails
- Authentication logs in your email provider
- Account access history