SparkPost Mail Transport for XF 2.3

SparkPost Mail Transport for XF 2.3 5.1.0

No permission to download
Addon now uses the well-tested hampel/sparkpost and hampel/sparkpost-transport packages for sending and communicating with SparkPost.

5.1.0 (2026-10-14)​

  • new: sparkpost:config reports 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:validate proves 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. --unattended skips that call for
    an unattended check, and --strict exits 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 needs hampel/sparkpost
    1.1.1, which is included
  • bugfix: a bounce classification introduced by a later release of hampel/sparkpost no longer
    stops the message event processing job with an UnhandledMatchError. 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 a void return 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/Monolog 5.x's channel(), falling back to
    newChannel() on 4.x. The channel name is unchanged, so a per-channel log level set in
    config.php keeps 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 reached on 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-sparkpost transport and this add-on's hand-written
    SparkPost API client with the hampel/sparkpost and hampel/sparkpost-transport packages, 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.com suffix 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/carbon dependency 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
  • Like
Reactions: goyo
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.
Back
Top Bottom