Available providers
Amazon SES
SendGrid
Postmark
Mailgun
Resend
SMTP
Mandrill
SparkPost
Mailjet
MailerSend
Amply
Gmail
OneSignal
Profile requirements
Every email provider addresses the recipient the same way, by email address, so the profile you send to needs anemail. Store it once with , which merges into the profile and creates it if it does not exist:
email off the profile when you send to a user_id, which is what lets preferences apply and lets the address change without touching your send code.
Send to a recipient
- Send to user id
- Send to email
Courier reads
email off the saved profile, so preferences apply and the address can change without touching this code.Channel overrides
covers the two levels and which one wins. These are the fields an email channel override accepts. The sender is the field most often overridden. With no override and no template From, an email goes out as the From Address on the provider’s integration. covers all three levels. Postmark, Amply, and MailerSend also accept a sender inside a provider override atoverride.config.fromAddress. On MailerSend that value beats a channel override, and on the other two the channel override still wins.
Available channel override fields
Every field you can set inmessage.channels.email.override. All are optional.
Set any of them under
channels.email.override on the send. The table above is the full list:
Brand override
Thechannels.email.override.brand property uses the same schema as the request payload.
You can override:
- logo
- top bar color
- brand colors
Allowlist for AWS IP addresses
Some providers, such as Mailgun, let you allowlist the IP addresses that reach their API. Courier runs on AWS and does not publish an IP range to allowlist. Instead, subscribe to theAmazonIpSpaceChanged topic to get notified when AWS IP ranges change. See the AWS documentation.





