When form notifications, password resets or order emails stop arriving, the cause is almost always one of four things: no mailer configured, credentials missing, a second plugin also taking over email, or a failure the mail plugin already recorded and nobody read.
email/get-delivery-status checks all four and returns a verdict.
At a glance
| Ability | email/get-delivery-status |
| Toolset | Email Delivery — toolset/wp-mail-smtp |
| Group | Email Delivery › Diagnostics |
| Requires | WP Mail SMTP, active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
The conflict check is the one people miss. Two plugins both filtering WordPress mail is a configuration that appears to work — both are installed, both have settings, both look right — and delivers nothing. The response names the conflicting plugin, and lists every conflict it found rather than only the first.
The last recorded error comes from the mail plugin itself, so it is the provider’s own words: an authentication failure, a rejected sender, a blocked port. That text is far more useful than any summary of it.
looks_deliverable is a judgement on configuration, not a delivery guarantee. It is the honest answer to “is anything obviously wrong”, and nothing more.
Input
This ability takes no input.
What comes back
| Name | Type | What it is |
|---|---|---|
mailer | string | Which mailer the site is configured to use. |
credentials_missing | array | Credentials the selected mailer needs and does not have. |
conflicting_plugin | string | Another plugin also taking over email, if any. |
all_conflicts | array | Every conflicting plugin found, not just the first. |
last_error | string | The last failure the mail plugin recorded, in its own words. |
looks_deliverable | boolean | Whether the configuration looks capable of sending. |
notes | array | Anything else worth knowing about the configuration. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Contact form notifications stopped arriving last week — what’s wrong?
It resolves to one call:
{
"ability": "email/get-delivery-status",
"parameters": {}
}Worth knowing
- Read-only, so it is safe to run on a live site mid-incident.
- It reads configuration only. A site can pass every check here and still not deliver, because a host blocks the port or a provider rejects the sender —
email/send-test-emailis the check that catches those. - Two mail plugins active at once is a configuration that looks correct and sends nothing. Check
all_conflictsbefore anything else.
Related abilities
- Send a Test Email — the end-to-end proof
- Get Email Delivery Settings — the settings behind the verdict
- Update Email Delivery Settings — fix the sender
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category