Mailfully logo

Delivered but not received

The send was accepted or shows delivered and nothing arrived. Check test mode, message status, suppression, spam and recipient routing in order.

delivered means the receiving server accepted the message. It does not mean the message reached an inbox. Work through the checks below in order.

1. Was it a test-mode send

Every recipient in a test-mode send is rewritten to a labeled mailbox-simulator address, so no mail reaches a real inbox. If you did not mean to send in test mode, check whether an mf_test_ key was used by mistake. See Test mode.

2. Check the message status

Pull the message and its event timeline:

curl https://api.mailfully.com/v1/emails/01J9ZC3AB8XQ4RW2N7VKT5EMHD \
  -H "Authorization: Bearer mf_live_xxxxxxxxxxxx"

curl https://api.mailfully.com/v1/emails/01J9ZC3AB8XQ4RW2N7VKT5EMHD/events \
  -H "Authorization: Bearer mf_live_xxxxxxxxxxxx"
StatusWhat it means for "nothing arrived"
heldThe message is waiting for review and sends once released. You can cancel it while it waits.
canceledThe message never sent. Every to recipient was suppressed, you canceled it, or it was dropped before sending, for example because the account was paused (last_event is paused).
failedThe message was rejected, or every remaining recipient was suppressed before sending.
sentOur sending servers accepted the message. The delivery outcome is still pending.
deliveredThe recipient's mail server accepted the message. A later spam report or late bounce can still change it to complained or bounced.

See How sending works for all ten statuses.

Was the recipient suppressed

A send to a suppressed address still returns 202. There are three outcomes:

  • Some recipients suppressed: the message goes to the rest.
  • Every to recipient suppressed when the request arrives: you get 202 with an id, but the message has status canceled. Nothing is sent or billed, but its recipients still count toward the daily limit.
  • Suppressed in the moments between accepting and sending: the message becomes failed with last_event: "suppressed", and a suppressed event appears in the timeline.

The 202 says nothing about the third case. The event timeline does:

{
  "data": [
    { "type": "send", "event_at": "2026-07-08T14:02:12.000Z", "detail": null },
    { "type": "suppressed", "event_at": "2026-07-08T14:02:12.410Z", "detail": null }
  ]
}

See Suppressions and Why an address was suppressed.

An open or click is also not confirmation of Inbox placement or a human action. Image proxies, security scanners, and prefetching can produce these events. Open/click detail.automation is likely, unlikely, or unknown; missing historical evidence is unknown, and user agents do not determine the classification. Unlikely and unknown can still be automated.

3. Check spam

A delivered event with nothing in the inbox often means the message went to spam. See Why emails go to spam.

4. Check routing at the recipient

Forwarding rules, aliases, catch-all domains and corporate quarantine can intercept a message after delivered. Ask the recipient to check their organization's quarantine and any forwarding rule.

Still stuck

Email contact@mailfully.com with the message id, the send time, the recipient's domain and the event timeline from GET /v1/emails/:id/events.