All help articles

Feedback loops: complaints from mailbox providers

When someone presses Report spam on mail from one of your users, providers that run a feedback loop send a report back (in the standard ARF format, RFC 5965). Mailocity reads those reports and acts on them:

The mailbox and its team's admins get an email when sending pauses.

How a complaint finds its sender

Every message that leaves for another server carries a header, X-Mailocity-Sender, naming the sending mailbox with a signature only this platform can make, under the message's DKIM signature. Providers send the message (or its headers) back inside the report, so the header says who sent it. A report about a message without a valid header (one we did not send, or a forged one) counts for nothing, and only reports that pass DMARC are read, so nobody can pause a mailbox with made-up complaints. The same complaint reported twice is counted once.

Many providers hide who complained. The complaint still counts towards the rate, but nobody can be suppressed for it.

Setting it up (platform operator)

  1. Choose the address providers send reports to, on a domain this server receives mail for, such as fbl@mailo.city. If it is also a mailbox, it gets a copy of each report as well.
  2. In the admin panel, Reports → Feedback loop settings (or corpsuite feedback set address=fbl@mailo.city), enter the address and choose when sending pauses: above how many complaints per thousand recipients over 30 days (3, which is 0.3%, is the line large providers draw; 0 never pauses), once a mailbox mailed at least how many recipients outside (so one complaint about a first message does not pause anyone).
  3. Join each provider's program, giving that address:
ProviderProgramWhat you need
Yahoo, AOL, AT&TYahoo Complaint Feedback LoopA Yahoo account; the DKIM signing domain (each hosted domain, or the platform's)
Microsoft (Outlook.com, Hotmail)JMRP and SNDSThe outbound IP addresses; JMRP sends reports, SNDS shows reputation
ComcastComcast Feedback LoopThe outbound IP addresses
Fastmail, Zoho, Rackspace, othersThrough Validity's Universal Feedback Loop or each provider's postmaster pageVaries
GmailNo per-message reports; the Postmaster Tools dashboard shows the complaint rate per domainEach hosted domain verified there

Programs that sign up by DKIM domain need each hosted domain registered; those that sign up by IP need the outbound addresses.

Seeing complaints

Resuming

Find out why people complained first: a compromised password (change it, check the sign-in history and sessions), a mailing to people who never asked for it, or a newsletter without an unsubscribe link. Then the platform operator chooses More → Resume sending on the user (or corpsuite mailbox resume-sending USER). Team admins cannot resume it themselves.

A suppressed recipient can be let back only by the operator (More → Suppressions, corpsuite mailbox suppression remove USER RECIPIENT), for example when they ask to hear from the sender again.

API

GET|PATCH /v1/feedback-settings, GET /v1/complaints, GET /v1/tenants/{tenantId}/complaints, GET /v1/tenants/{tenantId}/accounts/{accountId}/suppressions, DELETE .../suppressions/{recipient}, DELETE .../sending-pause. See api/openapi.yaml.