Skip to content

v0.2.0

Latest

Choose a tag to compare

@benfavre benfavre released this 13 Jun 17:22

Inklura Mail v0.2.0 — multipart, retry, and a real mail-log table.

Highlights

  • Multipart email — HTML messages now also carry a derived plain-text alternative, and the wp_mail_content_type filter is honored (not just an explicit Content-Type header).
  • Retry on transient failure — transient bext failures (timeout, 429, 5xx, unreachable) are re-attempted in the background via the bext queue (REST callback) or a wp-cron event, up to a configurable max-attempts cap with growing backoff. WordPress still delivers immediately as a fallback, so nothing waits on a retry. Permanent failures (4xx / ok:false) are not retried.
  • Mail log → custom table — replaces the 50-row option ring buffer with a per-blog dbDelta table offering search (recipient/subject), status + transport filters, pagination, and a per-entry detail view (subject, to, via, status, error, time, attempts). The legacy option is migrated then removed; the table is capped and auto-pruned.
  • Send stats — sent / fallback / failed / total over the last 7 days, on the log page.
  • New settings + network defaults — default Reply-To, max log rows, max send attempts.
  • New fallback status distinct from fail. Activation/new-site hooks create the table; uninstall drops it (and any retry cron).

Quality

  • PHP 7.4+ only, multisite-capable, every bext call still fails open to native wp_mail. The self-hosted updater is unchanged.
  • php -l clean across all files; 5 WP-free unit test files, 138 assertions, all green.

See CHANGELOG.md for the full list.