WordPress mail-path evidence

“Sent” still is not inbox delivery.

This self-initiated plugin proof records the two official WordPress mailer outcomes without retaining the recipient, subject, message, headers, attachments, or error text—and without pretending that a successful mailer call proves inbox placement.

SELF-INITIATED PLUGIN · SYNTHETIC TEST DATA · NO CLIENT SITE OR SMTP PROVIDER CONNECTED

01

WordPress request

A plugin or form asks wp_mail() to process a message.

02

Core outcome hook

WordPress emits wp_mail_succeeded or wp_mail_failed.

03

Privacy-safe state

Only counters, outcome, timestamp, and sanitized error code are retained.

04

Inbox delivery

Still unproven until the receiving mailbox or provider supplies evidence.

Reviewable boundary

Keep the evidence. Drop the message content.

The plugin is activated and exercised in a clean WordPress Playground runtime. The deterministic test fires both official core hooks with synthetic private-looking input and then inspects the stored option for leakage.

Focused source excerpt

add_action('wp_mail_succeeded', function ($mail_data) {
  // Mail content is deliberately ignored.
  signalmend_mail_receipt_record('accepted_by_mailer');
});

add_action('wp_mail_failed', function ($error) {
  // Store the sanitized code, never the message or payload.
  signalmend_mail_receipt_record(
    'mailer_error',
    sanitize_key($error->get_error_code())
  );
});

The full fixture also capability-guards the Tools screen and protects counter reset with an admin nonce.

Definitions follow the official WordPress references for wp_mail_succeeded and wp_mail_failed. WordPress explicitly warns that a success hook does not prove recipient delivery.

Verified fixture · 10 Aug 2026

  1. WordPress 7.0.3 · PHP 8.3.32
  2. 18 assertions passed
  3. Plugin activates in WordPress Playground
  4. Both core hooks are registered
  5. Success and failure counts stay distinct
  6. Error code is sanitized
  7. Mail content is absent from stored state
  8. Reset path is capability and nonce protected
Read the machine-readable receipt

What this proves

WordPress hook handling

  • Official success and failure hook integration
  • Deterministic, aggregate operational state
  • No stored recipient, subject, body, headers, attachments, or error message
  • Admin-only inspection and reset boundary

What remains unproven

Real delivery

  • No production WordPress site or form plugin is connected
  • No SMTP or transactional-email provider is configured
  • No mailbox receipt or inbox placement is claimed
  • No client conversion, revenue, or deliverability result is claimed

48-hour repair pilot

Trace one real WordPress form to receipt evidence.

One named form, one authorized site, one controlled test submission, and written evidence for browser response, WordPress processing, provider handoff, and mailbox receipt after funding and access.

Describe the broken WordPress path