Addon now uses the well-testedhampel/sparkpostandhampel/sparkpost-transportpackages for sending and communicating with SparkPost.
5.1.0 (2026-10-14)
- new:
sparkpost:configreports what this forum is set up to do and where each value came
from - the selected transport, whether an API key is set and which host it points at, test mode,
click and open tracking, the message event page size and the fetch watermark. It never prints the
key itself, so its output is safe to paste into a support thread- new:
sparkpost:validateproves the forum can actually do it: the container wiring, the
message event table, the cron entries and the fetch watermark, then one authenticated read from
SparkPost to confirm the API key is accepted. It sends no mail.--unattendedskips that call for
an unattended check, and--strictexits 2 on warnings rather than 0- bugfix: with the log level set to
debug, every outgoing email was written to the log in full -
subject, HTML body and text body - which on a busy forum meant every notification and every
password-reset link. Only a description of the send is logged now. This needshampel/sparkpost
1.1.1, which is included- bugfix: a bounce classification introduced by a later release of
hampel/sparkpostno longer
stops the message event processing job with anUnhandledMatchError. An unrecognised
classification takes no action against the recipient and is logged as a warning instead- XenForo 2.4 readiness: every
log()this add-on implements now declares avoidreturn type.
Without it, the add-on would fail fatally on the first email sent once XenForo ships psr/log 3- the log channel is now requested through
Hampel/Monolog5.x'schannel(), falling back to
newChannel()on 4.x. The channel name is unchanged, so a per-channel log level set in
config.phpkeeps working- the add-on now declares which of its settings are secrets, so a forum running the Admin API can
report the rest of them- bugfix: a spelling mistake in the message shown when the incompatible
Hampel/WndSparkPost
adapter is installed
5.0.1 (2026-09-07)
- bugfix: boards running the Hampel/Monolog add-on with its log-by-email option enabled hit
Maximum call stack size reachedon every page that sent mail - building the SparkPost transport
asked for the logger, and Monolog's email handler builds a mailer to construct its channel, so the
two called each other until the stack was exhausted. The logger is now resolved on first use
5.0.0 (2026-09-07)
- PHP 8.3.0 or later is now required - PHP 8.1 and 8.2 are no longer supported
- replace the bundled
hampel/symfonymailer-sparkposttransport and this add-on's hand-written
SparkPost API client with thehampel/sparkpostandhampel/sparkpost-transportpackages, which are
maintained and tested independently of the add-on- SparkPost API calls now go through XenForo's own outbound HTTP stack, so the board's proxy
configuration and its checks on untrusted requests apply to them- auto-replies and opt-in confirmations are no longer treated as delivery failures - an out-of-office
reply previously recorded a soft bounce against a recipient whose address works perfectly well- message event fetching now pages through SparkPost's own cursor, and honours the
Retry-After
period SparkPost sends when rate limiting instead of always waiting two minutes- test mode now rewrites the SMTP envelope rather than the
To:header, so a test message is
delivered to the sink while still reading as addressed to the real recipient - previously the
.sink.sparkpostmail.comsuffix was visible to whoever received one- the outbound email test page now reports how many recipients SparkPost rejected when it accepts a
transmission but refuses its recipients- remove the 47 unused
sparkpostmail_bounce_classification_*phrases - nothing displayed them- drop the
nesbot/carbondependency and its chain- latest composer dependencies
4.0.1 (2026-09-03)
- bugfix: message event processing failed when the Monolog addon was not installed
- bugfix: SparkPost error details render correctly again on the outbound email test page - the
message, description and error code fields were empty and the code shown was the HTTP status
rather than SparkPost's own- remove a template modification which no longer matched any XenForo 2.3 template
- align the bundled Symfony packages with the versions XenForo itself ships, so that the versions
Composer resolves are the versions which actually run- latest composer dependencies, including hampel/symfonymailer-sparkpost 1.1.4
4.0.0 (2025-09-03) - unreleased
- drop the usage of sparkpost/sparkpost package because it hasn't been updated in many years - write our own SparkPost
API wrapper instead- convert to using XF 2.3 classnames instead of short names
- add CLI commands to fetch message events, process message events and prune message events
- add monolog logging support for most functions
- convert email bounce processor into the MessageEventService
- move to latest version of hampel/symfonymailer-sparkpost to fix bug with ReplyTo headers
- latest composer dependencies
Updates:
- handle WhatsNewDigest emails in this addon rather than via adapter
- check for WndSparkPost adapter during setup and fail until it is removed - it is incompatible with this version
- change execution order of XF\Admin\Controller\Tools class extension
IMPORTANT: If you have it installed, you must remove the What's New Digest adapter for Sparkpost addon before upgrading SparkPost Mail Transport. The adapter is no longer required and won't work with the latest version of this addon.
Minor bugfix to explicitly enforce admin permissions on admincp tools
bugfix - fix a bug in exception handling in AbstractHttpTransport
v3.0.2 addresses a bug in an underlying SparkPost package which resulted in the from header not containing the forum title
Some composer dependencies were missing from the 3.0.0 release, causing issues with bounced email handling on some platforms that didn't already have those dependencies installed via other addons. This release fixes the issue.
We use essential cookies to make this site work, and optional cookies to enhance your experience.