Send email from your app
Send the email your website or app writes through SMTP or an HTTP API, with delivery reports. The Free plan includes 3,000 emails a month.
SMTP Relay sends the email your website or app writes, such as receipts and sign-in links. Connect over SMTP or send through our HTTPS API, and see what happened to each message.
- SMTP on port 587 or 465, or an HTTPS API
- 12% buffer past the monthly allowance on paid plans
- 90 days of events for every message
- 100 emails an hour to start, rising as your relay sends clean mail
Plans and prices
Every account plan includes some sending. For more, order a relay plan of its own, billed monthly. Each paid plan sends a little past its monthly number before sending stops. The page lists the Free plan and the six paid plans, each with its price for 1,000 emails and what it sends with its buffer.
Included with your plan
On Free, sending stops at 3,000 and starts again on the 1st of the month.
- Free: 3,000 emails a month on up to 2 sending domains
- Pro: 25,000 emails a month
- Business: 100,000 emails a month
Estimate a month
Enter the emails you expect to send. The estimate prices the cheapest plan that holds them.
Technical specifications
How your app connects, how much it can send and what it learns about each message.
| Sending | |
|---|---|
| SMTP | Port 587 with STARTTLS, or port 465 with TLS, signed in with an SMTP credential |
| HTTPS API | A JSON message to the send API, with an API key in the X-Api-Key header |
| Message categories | Transactional or marketing. Marketing mail carries one-click unsubscribe headers (RFC 8058). |
| Signing | Every message signed with your domain’s DKIM key |
| Sending domain checks | Ownership, SPF and DKIM must pass. We check DMARC and show the result. |
| Allowance and rate | |
| Included with your plan | 3,000 emails a month on Free, 25,000 on Pro and 100,000 on Business, once the plans are open |
| The Free relay plan | Up to 2 sending domains, and an hourly limit that stays at 100 emails an hour |
| Buffer | 12% on paid plans. The Free plan stops at its allowance. |
| Hourly limit | A new relay starts at 100 emails an hour, and a daily review raises it one step at a time: 100, 250, 500, 1,000, 2,500, 5,000, 10,000, 25,000 and 50,000 emails an hour |
| When the limit rises | Fewer than 2% bounces and 0.1% complaints over 14 days, with 2 days at the current step |
| Automatic ceiling | The highest step at or below the plan’s monthly emails divided by 25. Support can set a higher limit on request. |
| Dedicated sending address | Included from 250,000 emails a month, and an add-on from 100,000, when we have an IPv4 address in stock |
| Where mail leaves from | A dedicated address sends directly from our own addresses. Shared sending uses a delivery partner while we build out our own shared sending pool. |
| Tracking | |
| Events | Accepted, delivered, deferred, bounced and complaint, kept for 90 days |
| Webhook signature | HMAC-SHA256 of the body, in the X-Mail-Signature header |
| Webhook retries | Up to six attempts, about 2, 4, 8, 16 and 32 minutes apart |
| Suppression list | Bounces, complaints and unsubscribes, and the addresses you add |
| API | |
| Client API | Credentials, API keys, sending domains, events, suppressions and webhooks over HTTPS |
What SMTP Relay includes
Each feature says whether every relay includes it or you add it.
Sending
- SMTP or HTTPS. Included. Point your app’s mail settings at the relay over SMTP, on port 587 or 465, or send each message to our HTTPS API. SMTP takes a credential you create, and the API takes an API key.
- Your own sending domain. Included. Send from your own domain once you verify it. We sign each message with DKIM, which lets receiving servers check it came from you. When the domain’s DNS is on Coritan, we publish its records for you.
- Transactional and marketing mail. Included. Mark a message as marketing, and it carries a one-click unsubscribe button in the recipient’s mail app. An unsubscribe adds the address to your suppression list.
Tracking
- Events for every message. Included. Look up whether each message was delivered or bounced, or whether its recipient marked it as spam, for up to 90 days.
- Webhooks. Included. Get delivery, bounce and complaint events at a URL of yours as they happen. We sign each request, so you can check it came from us. The signature is an HMAC-SHA256 of the body, in the X-Mail-Signature header.
- A suppression list. Included. The relay stops sending to an address that bounced or complained. You can add an address yourself, or remove one to send to it again.
Limits and reputation
- Limits that grow with you. Included. Your hourly limit starts small and rises as your relay sends clean mail. Paid plans can go a little past their monthly allowance before sending stops. A new relay starts at 100 emails an hour, and a daily review raises the limit one step at a time. Paid plans accept 12% more than their monthly allowance.
- A dedicated sending address. Add-on. A sending address only your relay uses, so no other sender affects its reputation. Relay plans of 250,000 emails a month and more include one.
How a message is handled
Each message goes through these steps, over SMTP and over the API alike.
- The relay checks the message. It checks the sender, the monthly allowance and the hourly limit, and drops any recipient on your suppression list.
- It signs and delivers. It signs the message with your domain’s DKIM key and delivers it. Mail over the hourly limit waits in the queue for a later hour.
- Each step is an event. Accepted, delivered, deferred, bounced or complaint, which you can look up for 90 days or receive by webhook.
- Bounces stop the next send. A bounce or a spam complaint adds the address to the suppression list, so the relay stops sending to it.
What customers build with SMTP Relay
Receipts and sign-in links from a web app
Create an SMTP credential and put it in your framework’s mail settings, on port 587 with STARTTLS.
Uses: SMTP Relay and a sending domain
Mail from a function with no SMTP library
Post each message as JSON to the send API with an API key. The answer lists the recipients the relay left out because they are suppressed.
Uses: SMTP Relay and its HTTPS API
Bounces recorded in your own database
Add a webhook, check the X-Mail-Signature on each request, and mark an address as bad when a bounced or complaint event arrives.
Uses: SMTP Relay webhooks
A newsletter to people who asked for it
Send it as marketing mail. Each copy carries one-click unsubscribe headers, and an unsubscribe adds the address to your suppression list.
Uses: SMTP Relay on a plan that fits your list
Transactional and marketing mail
Limits
The fixed limits of a relay, whatever its plan.
| Messages | |
|---|---|
| Largest message over SMTP | 50 MB, encoded attachments included |
| Largest message through the API | 25 MB |
| Recipients in one API message | Up to 50 |
| Attachments and blind copies | Over SMTP only. The send API takes neither. |
| Queue and webhooks | |
| Queue | Six hours of mail at the hourly limit. After that we refuse new messages |
| Webhook answer | Any 2xx within 10 seconds |
| Webhook turned off | After 50 failures in a row |
| Plan limits | |
| Sending domains | Up to 1,000 on a plan with no set number |
| SMTP credentials | Up to 200 on a plan with no set number |
Coritan runs the mail platform: mailboxes, queues, authentication (SPF, DKIM and DMARC), abuse controls and sending limits. Dedicated IP plans send directly from Coritan's own addresses. Shared sending uses a delivery partner while Coritan builds out its own shared sending pool.
Add-ons
An add-on raises one limit without a change of plan.
- Relay Dedicated IP: A sending address only your relay uses, for relay plans of 100,000 emails a month or more.
Guides for SMTP Relay
Our docs explain each step, from your domain to your first message.
- How SMTP Relay works: How the relay sends over SMTP or HTTPS, and what its plan sets.
- Add a sending domain to SMTP Relay: Publish the domain’s SPF, DKIM and DMARC records and verify it before you send.
- Send over SMTP with credentials: Create a credential and connect your app on port 587 or 465.
- Send email over HTTPS: Send a test message, then send from your app with the API and an API key.
- Receive delivery events with webhooks: Receive delivery, bounce and complaint events, and check each request’s signature.
- How SMTP Relay sending limits work: The monthly allowance, its buffer and the hourly limit.
Send your first email
Start on the Free plan with 3,000 emails a month, or order a plan with more.
Frequently asked questions
How many emails can I send on Free?
The Free plan includes 3,000 emails a month on up to 2 sending domains. Sending stops at 3,000 and starts again on the 1st of the month, and the hourly limit stays at 100 emails an hour. Once the account plans are open, Pro includes 25,000 emails a month and Business 100,000.
What can I send through SMTP Relay, and where does it leave from?
Send the email your website or app writes for its users, such as receipts, alerts and sign-in links, and newsletters to people who asked for them. Marketing mail gets a one-click unsubscribe button in the recipient’s mail app. Coritan runs the mail platform: mailboxes, queues, authentication (SPF, DKIM and DMARC), abuse controls and sending limits. Dedicated IP plans send directly from Coritan’s own addresses. Shared sending uses a delivery partner while Coritan builds out its own shared sending pool.
Do I need to change my DNS?
Add your sending domain and publish the SPF, DKIM and DMARC records the dashboard shows, which let receiving servers check that your mail comes from you. When the domain’s DNS is on Coritan, we publish them for you.
Can I get a dedicated IP address?
Relay plans of 250,000 emails a month and more include one dedicated sending address. On plans of 100,000 emails a month and more, you can add one as an add-on. We take each address from our IPv4 stock, so an order waits for stock. A relay sends from the shared addresses until its dedicated address is assigned.
How do I know my email arrived?
Each message has events, such as delivered or bounced, that you can look up for up to 90 days. Webhooks send the same events to a URL of yours as they happen.
How does the hourly limit rise?
A new relay starts at 100 emails an hour. A daily review raises it one step when fewer than 2% of your messages bounced and fewer than 0.1% drew a complaint over the last 14 days. The review never goes past your plan’s monthly emails divided by 25, and the Free plan stays at 100. You can ask support for a higher limit.
How do I check that a webhook request came from you?
Each request carries an X-Mail-Signature header: the HMAC-SHA256 of the raw body, made with the webhook’s signing secret and written as hex. Compute the same value and compare the two. Answer with a 2xx status within 10 seconds, or we try again, up to six attempts in all.
How large can a message be?
Over SMTP, a message can be up to 50 MB with its encoded attachments. The send API builds messages of up to 25 MB for up to 50 recipients, and takes no attachments, so send files over SMTP.