30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Diagnose Email Delivery

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

Abilityemail/get-delivery-status
ToolsetEmail Delivery — toolset/wp-mail-smtp
GroupEmail Delivery › Diagnostics
RequiresWP Mail SMTP, active on the site
Capabilitymanage_options
SafetyRead-only — changes nothing
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI 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

NameTypeWhat it is
mailerstringWhich mailer the site is configured to use.
credentials_missingarrayCredentials the selected mailer needs and does not have.
conflicting_pluginstringAnother plugin also taking over email, if any.
all_conflictsarrayEvery conflicting plugin found, not just the first.
last_errorstringThe last failure the mail plugin recorded, in its own words.
looks_deliverablebooleanWhether the configuration looks capable of sending.
notesarrayAnything else worth knowing about the configuration.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent 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-email is the check that catches those.
  • Two mail plugins active at once is a configuration that looks correct and sends nothing. Check all_conflicts before anything else.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading