Skip to content
Coritan Docs

Sending reputation and deliverability

How we measure your relay's bounce and complaint rates, when sending pauses, and how to read the Deliverability card.

View as Markdown

In the dashboard

Mail providers decide whether your mail reaches the inbox largely from two numbers: how much of it bounces, and how often recipients report it as spam. We measure both for every SMTP Relay and Mail Hosting service. A service whose rates get too high has its sending paused. On an SMTP Relay service, the Deliverability card on the Overview tab shows the rates, where sending pauses and a health check of your setup.

  • The bounce rate is the share of sent messages that ended as bounced events: not delivered, and not tried again.
  • The complaint rate is the share that drew a complaint event: the recipient marked the message as spam, or a mailbox provider reported it as fraud or as failing authentication.
  • Both rates use the messages we accepted from the service over the last seven days. Every credential, API key and domain on the service counts together.

We work out the rates of every active service every 30 minutes. The counts behind them are added up once an hour, so they trail your sending by up to about an hour. When the seven days hold too few messages, we do not judge the rates at all.

Rate Sending paused from
Bounce rate 10%
Complaint rate 0.5%

Reaching a line is enough: a bounce rate of exactly 10% pauses sending. The Deliverability card shows the line under each rate, such as Pauses at 10%.

Our staff may review a service whose rates rise before they reach a pause line. Sending carries on. Above the tabs, every page of the service shows the Under review alert with the figures behind it, such as flagged: 6.12% bounces, 0.04% complaints over 7d.

While the review is open, a relay's hourly limit does not rise, and the next daily check can set it back to the starting limit.

The alert stays until our staff close the review, even after the rates fall. Once the rates are back to normal, the alert keeps its title and says We are reviewing your delivery rates. Sending continues while the review is open.

When either rate reaches its pause line, we pause the service's sending:

  • On an SMTP Relay service, no SMTP credential can sign in, and the send API answers 400 with Sending is paused on this service; contact support. A message that still reaches the relay over SMTP is refused with 550 5.7.1 Sending is paused for this account; contact support.
  • On a Mail Hosting service, its mailboxes cannot sign in, send or receive mail.
  • Above the tabs, the Sending is paused alert shows the figures, such as auto-frozen: 11.4% bounces, 0.08% complaints over 7d. The Status on the Service card reads Sending paused, and on a relay the Send tab shows the alert too.
  • On a relay, the next daily check can set the hourly limit back to the starting limit.

We do not email you when a service goes under review or is paused. The alerts on the service's pages are where you see it.

Only our staff lift a pause. Fix the cause first (Bring the rates down), then contact support and say what you changed. The check still looks at the last seven days: if the rates in that window are still at a pause line when our staff lift the pause, the next check pauses sending again.

Our staff can also pause a service by hand. The alert has the same title, and without figures it says Bounce or complaint rates crossed the platform threshold. Clean your lists, then contact support to resume.

Separately from these rates, we turn off a single mailbox that suddenly sends far more than it usually does. See Manage mailboxes.

  • Send only to people who asked for your mail. Bought lists and old lists bounce and draw complaints.
  • Confirm new addresses when people sign up, such as with a confirmation email, so typing mistakes never reach your list.
  • Send newsletters and campaigns as marketing. Recipients then get an unsubscribe button in their mail app and can use it instead of reporting spam. See Transactional and marketing mail.
  • Leave addresses on the suppression list unless you know the problem is fixed. Each one bounced or complained before.
  • Follow bounced and complaint events on the Events tab or with webhooks, and take those addresses off your own lists too.

We manage the shared addresses your mail leaves from and watch their reputation, so you have nothing to set up for them. If you want addresses that only your relay sends from, a dedicated address is an add-on.

On an SMTP Relay service, go to Email, open the relay, then the Overview tab. Mail Hosting services have no card, and their figures are in the API.

The card covers the last seven days, as its description says. It starts with a verdict on the rates as they are now:

verdict What the card says
ok Your bounce and complaint rates are healthy.
review Your bounce or complaint rate is high. Clean your lists before sending pauses.
freeze Sending is paused because your bounce or complaint rate got too high. Clean your lists, then contact support.
insufficient Too few messages in the last 7 days to judge.

When the service is under review or paused, the figures behind it follow the verdict in brackets. The verdict follows the current rates, while the alerts above the tabs stay until our staff close them. So the card can call the rates healthy while the Under review alert is still there.

Four figures follow:

Inbox health
A score out of 100, with a grade. See The inbox health score.
Sent
Messages accepted in the window.
Bounce rate
The bounce rate, with the pause line under it, such as Pauses at 10%. The rate turns to the warning colour at the pause line.
Complaints
The complaint rate, with its pause line.

Then comes a list of checks, each with a short detail, such as Domains · 1 verified. At the bottom, Default message category sets the category of messages that do not choose one (Transactional and marketing mail).

When the report cannot load, the card says Reputation data is not available right now.

Every check is about your own setup and sending.

Check Weight Passes when Warns or waits when Fails when
Domains 25 Every domain is verified. Some domains are still pending. No domain is added, or none is verified.
SPF and DKIM 20 Both records pass on every verified domain. No domain is verified yet. A verified domain is missing either record.
Bounces and complaints 15 Bounces are under 2% and complaints under 0.1%. Bounces reach 2% or complaints 0.1%, or the window holds fewer than 50 messages. Bounces reach 5% or complaints 0.3%.
DMARC 10 Every verified domain has its DMARC record, and at least one is at p=quarantine or p=reject. Every verified domain is at p=none, or no domain is verified yet. A verified domain's DMARC record is missing or out of date.

Bounces and complaints uses stricter lines than the pause lines: 2% bounces and 0.1% complaints are what Gmail asks of senders.

Three more checks carry no weight:

TLS
Shown when we have recent results, and says whether your mail reached the large providers over an encrypted connection.
Sending
Shown only while sending is paused, as sending is paused.
Review
Shown only while the service is under review, as our reputation checks flagged this for review.

Each check with a weight earns all of it when it passes, half when it warns or waits for data, and none when it fails. Inbox health is the weight earned out of the weight of the checks shown, as a number out of 100. The score counts those checks alone. While sending is paused, or while SPF and DKIM fails, the score is at most 40.

Score Grade
90–100 Excellent
75–89 Good
50–74 Fair
0–49 Poor

Mail providers send aggregate reports about the mail they receive from your domains: how many messages, from which servers, and whether they passed SPF, DKIM and DMARC. They send them to the rua= address in your DMARC record, when the record the dashboard shows has one. The reports drive the DMARC stage ramp.

On a Mail Hosting domain, TLS reports describe the mail sent to you: whether other servers could reach yours over an encrypted connection. They go to the address in the _smtp._tls record. Mail DNS records lists both records.

The dashboard does not list the reports. The API returns the latest ones on your own domains with the reputation report below.

GET /client/smtp-relay/{service_id}/reputation returns everything the card shows, and the reports:

Shell
curl "https://api.coritan.com/api/v1/client/smtp-relay/4812/reputation?limit=5" \
  -H "Authorization: Bearer $CORITAN_TOKEN"

limit is how many reports to return, newest first: 1–200, and 50 when you leave it out. A value outside that range answers 422.

JSON
{
  "health": {
    "score": 93,
    "grade": "excellent",
    "items": [
      {"key": "domains", "status": "pass", "weight": 25, "detail": "1 verified"},
      {"key": "spf_dkim", "status": "pass", "weight": 20, "detail": "SPF and DKIM published on every verified domain"},
      {"key": "dmarc", "status": "warn", "weight": 10, "detail": "p=none: monitoring only, tightened automatically after two clean weeks of reports"},
      {"key": "rates", "status": "pass", "weight": 15, "detail": "bounce 1.2%, complaints 0.048%"}
    ]
  },
  "default_category": "transactional",
  "window_days": 7,
  "sent": 8412,
  "bounced": 101,
  "complaints": 4,
  "bounce_pct": 1.2,
  "complaint_pct": 0.048,
  "verdict": "ok",
  "thresholds": {
    "bounce_freeze_pct": 10.0,
    "complaint_freeze_pct": 0.5
  },
  "sending_frozen": false,
  "review_flag": false,
  "note": null,
  "domains": [
    {
      "domain": "example.com",
      "status": "verified",
      "checks": {"ownership": true, "mx": false, "spf": true, "dkim": true, "dmarc": true},
      "dmarc_policy": "none",
      "mta_sts_mode": "testing"
    }
  ],
  "reports": [
    {
      "id": 90211,
      "domain": "example.com",
      "type": "dmarc",
      "reporter": "google.com",
      "range_begin": "2026-09-15T00:00:00",
      "range_end": "2026-09-15T23:59:59",
      "total": 1180,
      "passed": 1176,
      "failed": 4,
      "summary": null,
      "received_at": "2026-09-16T06:12:44"
    }
  ]
}
health
The inbox health score: score (0–100), grade (excellent, good, fair or poor) and items, one for each check. Each item has a key, a status (pass, warn, fail or info), its weight in the score and a detail. The score counts these items alone.
health.items[].key
domains, spf_dkim, dmarc, rates (Bounces and complaints), tls, frozen (Sending) and review. A Mail Hosting service also gets mx, with a weight of 5: it passes when every verified domain receives its mail with us, and warns otherwise.
default_category
transactional or marketing.
window_days
The length of the window, in days.
sent, bounced, complaints
Messages accepted, bounces and complaints in the window.
bounce_pct, complaint_pct
The rates in percent: bounce_pct to two decimal places, complaint_pct to three. Both are 0.0 when nothing was sent.
verdict
ok, review or freeze, or insufficient when the window holds too few messages to judge.
thresholds
The pause lines in percent: bounce_freeze_pct and complaint_freeze_pct.
sending_frozen, review_flag
Whether sending is paused, and whether the service is under review.
note
The figures behind the review or the pause, such as flagged: 6.12% bounces, 0.04% complaints over 7d, or null.
domains
Each domain with its status, the results of its checks, its DMARC stage in dmarc_policy, and mta_sts_mode, the mode of the MTA-STS policy we serve for it. Mail DNS records explains the checks.
reports
The latest DMARC and TLS reports on your own domains, newest first, up to limit.

Each report has:

type
dmarc for a DMARC aggregate report, or tls for a TLS report.
domain, reporter
The domain the report is about, and the organisation that sent it.
range_begin, range_end
The period the report covers, or null when it does not say.
total, passed, failed
The messages or connections the report covers, and how many passed and failed.
summary
Further detail we read from the report, or null.
received_at
When the report reached us.

The service summary, GET /client/smtp-relay/{service_id}, carries the results of the last check: bounce_rate_pct and complaint_rate_pct to two decimal places, reputation_checked_at, reputation_note, sending_frozen and review_flag.

The same report is under GET /client/mail/{service_id}/reputation, which answers for both products. On a Mail Hosting service, its reports can also hold tls reports.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/smtp-relay/{service_id}/reputationReputation report
GET/api/v1/client/mail/{service_id}/reputationReputation report