Skip to content

Feedback monitoring

Comail records delivery results and the feedback reports it receives. It cannot see every spam-folder decision or complaint. Use these records to investigate sending problems, alongside the receiving provider’s response and available postmaster tools.

The relay records message status as it attempts delivery. A permanent rejection or exhausted retry budget can produce a bounce. An SMTP acceptance means the receiving server accepted the message; it does not prove that the recipient saw it.

Feedback reports in ARF format can identify complaints. The relay checks attribution before applying them to a member. Reports that can be linked to a recipient can also create a complaint suppression. A claimed member DID in an unverified report is not sufficient on its own.

Report availability depends on provider support, current operator registration, and the report’s contents. Microsoft and Yahoo offer feedback programs, but the presence of a parser in Comail does not prove a current registration or complete reporting. Gmail’s Postmaster Tools data is separate from individual ARF complaint delivery.

GET /member/deliverability returns the member’s 14-day totals. Authenticate with an API key in the Authorization header and pass the member DID:

GET https://smtp.atmos.email/member/deliverability?did=did:plc:your-did
Authorization: Bearer atmos_your-api-key

Example response:

{
"did": "did:plc:your-did",
"status": "active",
"sent_14d": 1284,
"bounced_14d": 12,
"complaints_14d": 0,
"bounce_rate": 0.00935,
"daily_sends": [42, 67, 80, 91, 88, 95, 102, 110, 98, 87, 94, 101, 119, 110],
"hourly_limit": 100,
"daily_limit": 1000,
"labels": ["verified-mail-operator", "relay-member"]
}
  • status is the member’s relay status. Check the domain’s own status when investigating a domain pause.
  • sent_14d counts messages with terminal status sent or bounced; bounced_14d is the bounced subset.
  • complaints_14d counts recorded complaints. Zero does not prove there were no complaints at receivers.
  • bounce_rate is bounced_14d / sent_14d, or zero when the denominator is zero.
  • daily_sends contains 14 daily counts, oldest first.
  • hourly_limit and daily_limit are account limits. Domain warming, overrides, or safety policy can impose tighter limits.
  • labels lists the labels returned for the DID. See labels.

The endpoint returns aggregates, without pagination or individual complaint details. Use the account console for available message-level information.

For a command-line check, set DID and COMAIL_API_KEY in your environment, then run:

Terminal window
curl --fail --silent --show-error \
"https://smtp.atmos.email/member/deliverability?did=${DID}" \
-H "Authorization: Bearer ${COMAIL_API_KEY}" \
| jq '{status, sent_14d, bounced_14d, complaints_14d, bounce_rate}'

Choose alert thresholds for your traffic. A low-volume account can show a large percentage change from one failure, so inspect both the rate and the counts. For event notifications, use the supported webhooks; handle duplicate deliveries as described there.

For bounces, read the SMTP or DSN diagnostic code. Invalid addresses, authentication failures, receiver policy, and temporary delivery problems need different fixes. Remove invalid addresses from your application list rather than relying only on relay suppression.

For complaints, check whether recipients expected the message and could unsubscribe. Review the campaign, recipient selection, and message category. Transactional categories do not bypass complaint, bounce, or administrative suppressions; their exception applies only to unsubscribe suppression.

The serving Relay release checked on November 10, 2026 evaluates each domain every 15 minutes over a rolling 24-hour window. Evaluation starts at 10 messages. It pauses a domain at a bounce rate of at least 5% with at least three bounced messages, or a complaint rate of at least 0.08%.

The current constructor uses these defaults for all domains. Older docs described different bounce limits by account plan; that is not the behavior wired into this release. These thresholds are separate from the 14-day totals above.

A pause blocks new HTTP and SMTP submissions for that domain and stops its warmup sender. Resolve the cause before using the available account or operator controls to unpause it. See bounces and suppression and warming strategy.

There is no member API for individual complaint events or an aggregate history beyond this 14-day response. The operator may have additional records, subject to retention and privacy rules. Do not infer receipt, retention, or provider enrollment from an empty result.

See mailbox-provider troubleshooting for provider-specific checks.

Back to docs