Supported Providers
Score CRM supports multiple email service providers through a pluggable provider architecture. Each provider has its own adapter that handles the specific API or SMTP protocol.
Provider Comparison
| Provider | Connection Type | Webhooks | Batch Sending |
|---|---|---|---|
| SendGrid | API (v3) | ✅ Yes | ✅ Yes |
| SparkPost | API (v1) | ✅ Yes | ✅ Yes |
| SMTP.com | API (v1) | ✅ Yes | ✅ Yes |
| OCI Mail | SMTP | ✅ Yes | ❌ Individual |
| Mailgun | API | ✅ Yes | ✅ Yes |
| AWS SES | SMTP/API | ✅ Yes | ✅ Yes |
| Generic SMTP | SMTP | ❌ No | ❌ Individual |
SendGrid
Connection type: API-based
Required fields:
- API Key (with Mail Send permissions)
Webhook events supported:
- Delivered, Opened, Clicked, Bounced, Spam Report, Unsubscribed
Notes:
- Uses the
/v3/mail/sendAPI endpoint - Webhook signature verification via ECDSA
SparkPost
Connection type: API-based
Required fields:
- API Key
Webhook events supported:
- Delivery, Open, Click, Bounce, Spam Complaint, Link Unsubscribe
Notes:
- Uses the
/api/v1/transmissionsAPI endpoint - Supports batch sending for high throughput
SMTP.com
Connection type: API-based
Required fields:
- API Key
Webhook events supported:
- Delivered, Opened, Clicked, Bounced, Complained
Notes:
- Uses the
/v1/messageAPI endpoint - HMAC webhook signature verification
OCI Mail (Oracle Cloud)
Connection type: SMTP
Required fields:
- Host, Port, Username, Password
Webhook events supported:
- Standard SMTP bounce notifications
Notes:
- Connects via traditional SMTP protocol
- Individual email sending (no batch API)
Generic SMTP
Connection type: SMTP
Required fields:
- Host, Port, Username, Password
Webhook events:
- None (no event tracking via webhooks)
Notes:
- Works with any SMTP-compatible server
- No automatic event tracking — opens and clicks are still tracked via Score CRM's own tracking pixel and link rewriting, but delivery/bounce events require webhook support from the provider
- Best used as a fallback or for SMTP providers not yet natively supported
Adding a New Provider
Score CRM uses a factory pattern for email providers. Each provider implements a standard interface:
initialise()— Set up the provider connectionsend()— Send a single emailsendBatch()— Send a batch of emails (if supported)
Contact your Score CRM administrator if you need support for a provider not listed here.