Problem/Motivation
The module suppresses only mail flowing through hook_mail_alter. Native Symfony Mailer sending can bypass that hook, as the README already documents.
Evidence and scope
Reviewed 1.0.0-alpha1, source commit 02fd9d36af5237e712cecb7155d79725f7824880. Location: postmark_webhooks.module:11.
Known documented limitation; no end-to-end Symfony Mailer validation was claimed for alpha1.
Proposed resolution
Add an optional adapter using the supported Drupal Symfony Mailer extension point and the shared decision service. Inspect envelope recipients, define mixed-recipient behavior, and avoid duplicate decisions/logs when compatibility paths also call the hook. Do not add a required sender dependency.
Acceptance criteria
Integration tests prove blocked addresses never reach transport through native and compatibility paths, allowed mail is unchanged, and absent Symfony Mailer remains supported. Update the compatibility matrix only for tested paths.
Comments
Comment #2
jmcerdaThe optional Postmark Webhooks Mailer submodule is implemented and awaiting integration. It checks native Mailer Plus To, Cc and Bcc recipients after rendering through the shared suppression policy, cancels blocked messages before transport, preserves allowed headers, and respects globally disabled suppression. Drupal core mail remains independent of this optional dependency.
CI is green for Mailer Plus 1.6.2 and 2.0.2 on both Drupal 10.3 and Drupal 11, plus core-only jobs. Native and compatibility transport tests cover blocked recipients, allowed headers and disabled mode (3 tests, 22 assertions per combination). Known upstream deprecations are narrowly baselined; unknown notices still fail. Direct Symfony transports and custom recipient mutations after the final callback remain outside the documented coverage.
Comment #5
jmcerdaIntegrated into the 1.x development branch and included in 1.0.0-alpha2. The release tag and branch are mirrored to Drupalcode. The six-job Drupal 10/11 and Mailer Plus integration matrix passes. See the release notes for database updates and retained-history limitations. This records module publication; site deployment is a separate operation.