Hook Explorer
Search and filter every BooleanSMTP hook by kind, tier and area, and see the mail pipeline’s hooks light up in the order they actually fire.
Every hook, filterable by kind, tier and area. Toggle During a send to see the mail pipeline's hooks light up in the order they actually fire — the developer view of the user site's "Journey of an email".
123 hooks
boolean_smtp_admin_menu_itemsfilterTier BFilters the navigation entries other plugins add to the admin UI.add_filter( 'boolean_smtp_admin_menu_items', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_admin_menu_items', function ( array $items ) { return $items; }, 10, 1 );boolean_smtp_after_migration_importactionTier BFires after a migration import from another plugin has finished.add_action( 'boolean_smtp_after_migration_import', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_after_migration_import', function ( string $source, array $result ) { // React to the event. }, 10, 2 );boolean_smtp_alert_delivery_failure_fieldsfilterTier BFilters the label/value fields shown for a delivery-failure notification.add_filter( 'boolean_smtp_alert_delivery_failure_fields', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_alert_delivery_failure_fields', function ( array $fields, array $email, array $context ) { return $fields; }, 10, 3 );boolean_smtp_api_debugactionTier CFires with diagnostic details after an API-mode send attempt, whatever its outcome.add_action( 'boolean_smtp_api_debug', $callback, 10, 1 );add_action( 'boolean_smtp_api_debug', function ( array $debug ) { // React to the event. }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_api_debug_response_enabledfilterTier CFilters whether raw debug data may be attached to an admin REST response.add_filter( 'boolean_smtp_api_debug_response_enabled', $callback, 10, 1 );add_filter( 'boolean_smtp_api_debug_response_enabled', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_aws_enable_imds_role_sourcefilterTier BFilters whether BooleanSMTP probes the EC2 IMDSv2 endpoint for an IAM role.add_filter( 'boolean_smtp_aws_enable_imds_role_source', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_aws_enable_imds_role_source', function ( bool $enabled ) { return $enabled; }, 10, 1 );boolean_smtp_before_connection_deleteactionTier AFires immediately before a connection is deleted.add_action( 'boolean_smtp_before_connection_delete', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_before_connection_delete', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_before_migration_importactionTier BFires before a migration import from another plugin starts.add_action( 'boolean_smtp_before_migration_import', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_before_migration_import', function ( string $source, array $requestOptions ) { // React to the event. }, 10, 2 );boolean_smtp_before_sendactionTier AFires immediately before a message is sent, after the connection and transport have been configured.add_action( 'boolean_smtp_before_send', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_before_send', function ( array $data ) { // React to the event. }, 10, 1 );boolean_smtp_connection_createdactionTier AFires after a connection has been created through the REST API.add_action( 'boolean_smtp_connection_created', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_connection_created', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_connection_datafilterTier AFilters a connection's data before it is created through the REST API.add_filter( 'boolean_smtp_connection_data', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_connection_data', function ( array $data ) { return $data; }, 10, 1 );boolean_smtp_connection_deletedactionTier AFires after a connection has been deleted.add_action( 'boolean_smtp_connection_deleted', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_connection_deleted', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_connection_savedactionTier AFires after a connection has been written to the database, wherever the write came from.add_action( 'boolean_smtp_connection_saved', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_connection_saved', function ( \BooleanSmtp\Models\Connection $connection, bool $created ) { // React to the event. }, 10, 2 );boolean_smtp_connection_updatedactionTier AFires after a connection has been updated through the REST API.add_action( 'boolean_smtp_connection_updated', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_connection_updated', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_dashboard_cardsfilterTier BFilters the cards other plugins add to the admin overview page.add_filter( 'boolean_smtp_dashboard_cards', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_dashboard_cards', function ( array $cards ) { return $cards; }, 10, 1 );boolean_smtp_debug_attach_api_debugfilterTier CFilters the legacy API debug response toggle.add_filter( 'boolean_smtp_debug_attach_api_debug', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_attach_api_debug', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_http_enabledfilterTier CFilters whether the outgoing-HTTP debug channel is enabled.add_filter( 'boolean_smtp_debug_http_enabled', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_http_enabled', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_http_log_stylefilterTier CFilters how outgoing HTTP exchanges are formatted in the `requests` log channel.add_filter( 'boolean_smtp_debug_http_log_style', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_http_log_style', function ( string $style ) { return $style; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_http_mailer_onlyfilterTier CFilters whether the outgoing-HTTP debug channel is restricted to mail-provider URLs.add_filter( 'boolean_smtp_debug_http_mailer_only', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_http_mailer_only', function ( bool $mailerOnly ) { return $mailerOnly; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_http_mailer_url_matchfilterTier CFilters whether a URL not matched by the built-in provider list counts as mail-related.add_filter( 'boolean_smtp_debug_http_mailer_url_match', $callback, 10, 2 );add_filter( 'boolean_smtp_debug_http_mailer_url_match', function ( bool $matches, string $url ) { return $matches; }, 10, 2 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_log_erroractionTier CFires when a debug session could not be stored.add_action( 'boolean_smtp_debug_log_error', $callback, 10, 2 );add_action( 'boolean_smtp_debug_log_error', function ( string $message, array $lines ) { // React to the event. }, 10, 2 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_mailer_action_enabledfilterTier CFilters whether the mailer-diagnostics debug channel is enabled.add_filter( 'boolean_smtp_debug_mailer_action_enabled', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_mailer_action_enabled', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_mask_visible_suffix_lengthfilterTier CFilters the number of trailing characters left visible when a value is masked.add_filter( 'boolean_smtp_debug_mask_visible_suffix_length', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_mask_visible_suffix_length', function ( int $length ) { return $length; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_output_xhrfilterTier CFilters the legacy API debug response toggle (alias of `boolean_smtp_debug_attach_api_debug`).add_filter( 'boolean_smtp_debug_output_xhr', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_output_xhr', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_queries_enabledfilterTier CFilters whether the database-query debug channel is enabled.add_filter( 'boolean_smtp_debug_queries_enabled', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_queries_enabled', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_query_call_site_include_framefilterTier CFilters whether a backtrace frame may be used as a query's recorded call site.add_filter( 'boolean_smtp_debug_query_call_site_include_frame', $callback, 10, 3 );add_filter( 'boolean_smtp_debug_query_call_site_include_frame', function ( bool $include, array $frame, string $norm ) { return $include; }, 10, 3 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_request_enabledfilterTier CFilters whether the incoming-request/REST debug channel is enabled.add_filter( 'boolean_smtp_debug_request_enabled', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_request_enabled', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_request_secret_visibilityfilterTier CFilters the secret visibility used for REST/POST request payload blocks in the `requests` log channel.add_filter( 'boolean_smtp_debug_request_secret_visibility', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_request_secret_visibility', function ( string $visibility ) { return $visibility; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_scopefilterTier CFilters the debug logging scope.add_filter( 'boolean_smtp_debug_scope', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_scope', function ( string $scope ) { return $scope; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_secret_visibilityfilterTier CFilters how sensitive values appear in debug logs and API debug responses.add_filter( 'boolean_smtp_debug_secret_visibility', $callback, 10, 1 );add_filter( 'boolean_smtp_debug_secret_visibility', function ( string $visibility ) { return $visibility; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_sensitive_keyfilterTier CFilters whether a data key is treated as sensitive for debug-log redaction.add_filter( 'boolean_smtp_debug_sensitive_key', $callback, 10, 3 );add_filter( 'boolean_smtp_debug_sensitive_key', function ( bool $sensitive, string $key, string $lowercase ) { return $sensitive; }, 10, 3 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_debug_should_log_httpfilterTier CFilters whether an outgoing HTTP request/response is recorded to the debug log.add_filter( 'boolean_smtp_debug_should_log_http', $callback, 10, 4 );add_filter( 'boolean_smtp_debug_should_log_http', function ( bool $shouldLog, string $url, array $parsedArgs, $response ) { return $shouldLog; }, 10, 4 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_discord_notification_payloadfilterTier AFilters the Discord webhook payload before it is sent.add_filter( 'boolean_smtp_discord_notification_payload', $callback, 10, 4 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_discord_notification_payload', function ( array $payload, string $message, array $context, array $settings ) { return $payload; }, 10, 4 );boolean_smtp_email_delivery_failed_finalactionTier AFires when a mail delivery attempt has failed with no further fallback to try.add_action( 'boolean_smtp_email_delivery_failed_final', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_delivery_failed_final', function ( array $data ) { // React to the event. }, 10, 1 );boolean_smtp_email_event_datafilterTier AFilters the data describing a mail delivery event before it is announced and used to build a notification.add_filter( 'boolean_smtp_email_event_data', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_email_event_data', function ( array $data, string $event, array $context ) { return $data; }, 10, 3 );boolean_smtp_email_failedactionTier AFires after a send attempt has failed, before the fallback connection is tried.add_action( 'boolean_smtp_email_failed', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_failed', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_email_headersfilterTier AFilters the custom headers collected from PHPMailer before the message is logged.add_filter( 'boolean_smtp_email_headers', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_email_headers', function ( array $headers, string $to ) { return $headers; }, 10, 2 );boolean_smtp_email_log_deletedactionTier BFires after an email log entry has been deleted.add_action( 'boolean_smtp_email_log_deleted', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_log_deleted', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_email_loggedactionTier BFires after an email log entry has been created.add_action( 'boolean_smtp_email_logged', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_logged', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_email_queuedactionTier AFires after an email has been added to the queue.add_action( 'boolean_smtp_email_queued', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_queued', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_email_sentactionTier AFires after a message has been delivered successfully.add_action( 'boolean_smtp_email_sent', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_email_sent', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_google_delivery_modesfilterTier BFilters the delivery modes available for the Google/Gmail transport.add_filter( 'boolean_smtp_google_delivery_modes', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_delivery_modes', function ( array $modes ) { return $modes; }, 10, 1 );boolean_smtp_google_oauth_redirect_urifilterTier AFilters the redirect URI used for the Google OAuth2 connection flow.add_filter( 'boolean_smtp_google_oauth_redirect_uri', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_oauth_redirect_uri', function ( string $default ) { return $default; }, 10, 1 );boolean_smtp_google_probe_one_clickfilterTier BFilters the result of a Google One Click connection probe.add_filter( 'boolean_smtp_google_probe_one_click', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_probe_one_click', function ( $result, array $settings ) { return $result; }, 10, 2 );boolean_smtp_google_send_one_clickfilterTier BFilters the result of a Google One Click send.add_filter( 'boolean_smtp_google_send_one_click', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_send_one_click', function ( $result, string $rawMime, array $settings ) { return $result; }, 10, 3 );boolean_smtp_google_settings_schemafilterTier BFilters the Google/Gmail connection settings schema before it is returned to the admin UI.add_filter( 'boolean_smtp_google_settings_schema', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_settings_schema', function ( array $schema ) { return $schema; }, 10, 1 );boolean_smtp_google_validate_settingsfilterTier BFilters validation errors for a Google/Gmail connection using a delivery mode not implemented by the free transport.add_filter( 'boolean_smtp_google_validate_settings', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_validate_settings', function ( array $errors, string $mode, array $settings ) { return $errors; }, 10, 3 );boolean_smtp_google_validation_rulesfilterTier BFilters the validation rules for Google/Gmail connection settings.add_filter( 'boolean_smtp_google_validation_rules', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_google_validation_rules', function ( array $rules ) { return $rules; }, 10, 1 );boolean_smtp_health_checkaction (WP-Cron)Tier BFires on the health-check interval; each run probes every active connection.add_action( 'boolean_smtp_health_check', $callback, 10, 0 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_health_check', function () { // React to the event. }, 10, 1 );boolean_smtp_health_check_resultactionTier AFires after the scheduled health check has probed one connection and recorded the outcome on it.add_action( 'boolean_smtp_health_check_result', $callback, 10, 3 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_health_check_result', function ( \BooleanSmtp\Models\Connection $connection, bool $healthy, ?string $error ) { // React to the event. }, 10, 3 );boolean_smtp_load_firstfilterTier AFilters whether BooleanSMTP keeps itself first in the plugin load order.add_filter( 'boolean_smtp_load_first', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_load_first', function ( bool $enabled, string $pluginFile ) { return $enabled; }, 10, 2 );boolean_smtp_log_file_enabledfilterTier AFilters whether one of BooleanSMTP's log channels writes to disk.add_filter( 'boolean_smtp_log_file_enabled', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_log_file_enabled', function ( bool $enabled, string $channel ) { return $enabled; }, 10, 2 );boolean_smtp_log_file_levelfilterTier AFilters the least severe level a BooleanSMTP log channel writes.add_filter( 'boolean_smtp_log_file_level', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_log_file_level', function ( string $level, string $channel ) { return $level; }, 10, 2 );boolean_smtp_log_file_retention_daysfilterTier AFilters how many days of a BooleanSMTP log channel's files are kept.add_filter( 'boolean_smtp_log_file_retention_days', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_log_file_retention_days', function ( int $days, string $channel ) { return $days; }, 10, 2 );boolean_smtp_log_mailer_resolved_to_error_logfilterTier CFilters whether the resolved mailer diagnostics are written to the plugin log.add_filter( 'boolean_smtp_log_mailer_resolved_to_error_log', $callback, 10, 2 );add_filter( 'boolean_smtp_log_mailer_resolved_to_error_log', function ( bool $logToPhpErrorLog, array $diagnostics ) { return $logToPhpErrorLog; }, 10, 2 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_log_retention_daysfilterTier AFilters the number of days email logs are kept before the daily cleanup removes them.add_filter( 'boolean_smtp_log_retention_days', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_log_retention_days', function ( int $days ) { return $days; }, 10, 1 );boolean_smtp_mail_after_validateactionTier AFires after a message has passed validation, before headers are normalized.add_action( 'boolean_smtp_mail_after_validate', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_after_validate', function ( \BooleanSmtp\Services\Mailer\MailMessage $message, array $atts ) { // React to the event. }, 10, 2 );boolean_smtp_mail_attempt_recordedactionTier BFires after a send attempt has been recorded in the email log.add_action( 'boolean_smtp_mail_attempt_recorded', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_attempt_recorded', function ( \PHPMailer\PHPMailer\PHPMailer $phpmailer, \BooleanSmtp\Models\Connection $connection ) { // React to the event. }, 10, 2 );boolean_smtp_mail_before_logactionTier BFires before an outgoing message is offered to the email log.add_action( 'boolean_smtp_mail_before_log', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_before_log', function ( \PHPMailer\PHPMailer\PHPMailer $phpmailer, \BooleanSmtp\Models\Connection $connection ) { // React to the event. }, 10, 2 );boolean_smtp_mail_before_phpmaileractionTier AFires after PHPMailer has been built from the message, before phpmailer_init runs.add_action( 'boolean_smtp_mail_before_phpmailer', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_before_phpmailer', function ( \BooleanSmtp\Services\Mailer\MailMessage $message, \PHPMailer\PHPMailer\PHPMailer $phpmailer ) { // React to the event. }, 10, 2 );boolean_smtp_mail_connection_resolvedactionTier AFires after a connection has been resolved for an outgoing message, before it is applied to PHPMailer.add_action( 'boolean_smtp_mail_connection_resolved', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_connection_resolved', function ( \BooleanSmtp\Models\Connection $connection, array $emailData ) { // React to the event. }, 10, 2 );boolean_smtp_mail_fallbackactionTier AFires before a failed send is retried through the fallback connection.add_action( 'boolean_smtp_mail_fallback', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_fallback', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_mail_headersfilterTier AFilters the header bag built from the message before normalization.add_filter( 'boolean_smtp_mail_headers', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_mail_headers', function ( \BooleanSmtp\Services\Mailer\Headers\MailHeaders $headers, \BooleanSmtp\Services\Mailer\MailMessage $message ) { return $headers; }, 10, 2 );boolean_smtp_mail_headers_normalizedactionTier BFires after headers have been normalized, before they are written back onto the message.add_action( 'boolean_smtp_mail_headers_normalized', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_headers_normalized', function ( \BooleanSmtp\Services\Mailer\Headers\MailHeaders $headers, \BooleanSmtp\Services\Mailer\MailMessage $message ) { // React to the event. }, 10, 2 );boolean_smtp_mail_intakeactionTier AFires when a message enters the BooleanSMTP mail pipeline, before validation runs.add_action( 'boolean_smtp_mail_intake', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_intake', function ( array $atts ) { // React to the event. }, 10, 1 );boolean_smtp_mail_send_resultactionTier AFires after a send attempt has completed, whether it succeeded or failed.add_action( 'boolean_smtp_mail_send_result', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_send_result', function ( \BooleanSmtp\Services\Mailer\MailResult $result, \BooleanSmtp\Services\Mailer\MailMessage $message ) { // React to the event. }, 10, 2 );boolean_smtp_mail_transport_sendactionTier BFires immediately before the message is handed to PHPMailer's transport.add_action( 'boolean_smtp_mail_transport_send', $callback, 10, 2 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mail_transport_send', function ( \BooleanSmtp\Services\Mailer\MailMessage $message, \PHPMailer\PHPMailer\PHPMailer $phpmailer ) { // React to the event. }, 10, 2 );boolean_smtp_mail_validatefilterTier AFilters whether a message should be rejected before it is processed further.add_filter( 'boolean_smtp_mail_validate', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_mail_validate', function ( $validation, array $atts ) { return $validation; }, 10, 2 );boolean_smtp_mailer_resolvedactionTier BFires after the mailer has been fully configured for a send, with diagnostic details about the resolved connection and transport.add_action( 'boolean_smtp_mailer_resolved', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_mailer_resolved', function ( array $diagnostics ) { // React to the event. }, 10, 1 );boolean_smtp_max_retry_attemptsfilterTier AFilters how many times a failed message is retried on other connections.add_filter( 'boolean_smtp_max_retry_attempts', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_max_retry_attempts', function ( int $attempts ) { return $attempts; }, 10, 1 );boolean_smtp_message_bodyfilterTier AFilters the message body immediately before it is sent.add_filter( 'boolean_smtp_message_body', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_message_body', function ( string $body, string $to ) { return $body; }, 10, 2 );boolean_smtp_microsoft_authorize_urlfilterTier BFilters the Microsoft identity platform authorize URL used for delegated OAuth.add_filter( 'boolean_smtp_microsoft_authorize_url', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_microsoft_authorize_url', function ( string $url, string $tenant ) { return $url; }, 10, 2 );boolean_smtp_microsoft_graph_base_urlfilterTier BFilters the Microsoft Graph API base URL.add_filter( 'boolean_smtp_microsoft_graph_base_url', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_microsoft_graph_base_url', function ( string $baseUrl ) { return $baseUrl; }, 10, 1 );boolean_smtp_microsoft_oauth_redirect_urifilterTier AFilters the redirect URI used for the Microsoft OAuth2 connection flow.add_filter( 'boolean_smtp_microsoft_oauth_redirect_uri', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_microsoft_oauth_redirect_uri', function ( string $default ) { return $default; }, 10, 1 );boolean_smtp_microsoft_token_urlfilterTier BFilters the Microsoft identity platform token endpoint used to exchange or refresh delegated and application tokens.add_filter( 'boolean_smtp_microsoft_token_url', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_microsoft_token_url', function ( string $url, string $tenant ) { return $url; }, 10, 2 );boolean_smtp_migration_connection_assessedfilterTier BFilters the assessment of a connection read from another SMTP plugin, before any draft is written.add_filter( 'boolean_smtp_migration_connection_assessed', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_migration_connection_assessed', function ( \BooleanSmtp\Services\Migration\Assessment\ConnectionAssessment $assessment, string $source ) { return $assessment; }, 10, 2 );boolean_smtp_migration_connection_datafilterTier BFilters the attributes of a connection imported from another plugin before it is persisted.add_filter( 'boolean_smtp_migration_connection_data', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_migration_connection_data', function ( array $attributes, string $source ) { return $attributes; }, 10, 2 );boolean_smtp_migration_log_rowfilterTier BFilters an email-log row imported from another SMTP plugin, before it is stored.add_filter( 'boolean_smtp_migration_log_row', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_migration_log_row', function ( array $row, string $source, \BooleanSmtp\Services\Migration\Canonical\CanonicalEmailLog $log ) { return $row; }, 10, 3 );boolean_smtp_migration_max_log_rowsfilterTier BFilters the maximum number of email-log rows an import reads from another plugin.add_filter( 'boolean_smtp_migration_max_log_rows', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_migration_max_log_rows', function ( int $max ) { return $max; }, 10, 1 );boolean_smtp_notification_http_request_argsfilterTier BFilters the HTTP request arguments used for an outbound notification request.add_filter( 'boolean_smtp_notification_http_request_args', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_notification_http_request_args', function ( array $args, string $url, array $payload ) { return $args; }, 10, 3 );boolean_smtp_notification_sslverifyfilterTier BFilters whether outbound notification requests verify the remote SSL certificate.add_filter( 'boolean_smtp_notification_sslverify', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_notification_sslverify', function ( bool $sslverify ) { return $sslverify; }, 10, 1 );boolean_smtp_oauth_debug_uifilterTier CFilters whether the admin UI shows raw OAuth provider diagnostics.add_filter( 'boolean_smtp_oauth_debug_ui', $callback, 10, 1 );add_filter( 'boolean_smtp_oauth_debug_ui', function ( bool $enabled ) { return $enabled; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_oauth_failure_notifiedactionTier BFires after an OAuth refresh failure has been handed to the supported notification channels.add_action( 'boolean_smtp_oauth_failure_notified', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_oauth_failure_notified', function ( array $event ) { // React to the event. }, 10, 1 );boolean_smtp_oauth_providers_registeractionTier AFires after the built-in OAuth providers have been registered.add_action( 'boolean_smtp_oauth_providers_register', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_oauth_providers_register', function ( string $registryClass ) { // React to the event. }, 10, 1 );boolean_smtp_oauth_refreshaction (WP-Cron)Tier BFires on the OAuth refresh interval; each run renews the access tokens that are about to expire.add_action( 'boolean_smtp_oauth_refresh', $callback, 10, 0 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_oauth_refresh', function () { // React to the event. }, 10, 1 );boolean_smtp_oauth_refresh_failedactionTier AFires after an OAuth token refresh fails, once retries are exhausted.add_action( 'boolean_smtp_oauth_refresh_failed', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_oauth_refresh_failed', function ( array $data ) { // React to the event. }, 10, 1 );boolean_smtp_oauth_refresh_successactionTier AFires after an OAuth token refresh succeeds.add_action( 'boolean_smtp_oauth_refresh_success', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_oauth_refresh_success', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_onboarding_appliedactionTier BFires after the onboarding wizard has applied a reviewed connection.add_action( 'boolean_smtp_onboarding_applied', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_onboarding_applied', function ( array $result ) { // React to the event. }, 10, 1 );boolean_smtp_outlook_delivery_modesfilterTier BFilters the delivery modes available for the Outlook transport.add_filter( 'boolean_smtp_outlook_delivery_modes', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_delivery_modes', function ( array $modes ) { return $modes; }, 10, 1 );boolean_smtp_outlook_probe_app_permissionfilterTier BFilters the result of an Outlook Application Permission connection probe.add_filter( 'boolean_smtp_outlook_probe_app_permission', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_probe_app_permission', function ( $result, array $settings ) { return $result; }, 10, 2 );boolean_smtp_outlook_probe_one_clickfilterTier BFilters the result of an Outlook One Click connection probe.add_filter( 'boolean_smtp_outlook_probe_one_click', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_probe_one_click', function ( $result, array $settings ) { return $result; }, 10, 2 );boolean_smtp_outlook_send_app_permissionfilterTier BFilters the result of an Outlook Application Permission send.add_filter( 'boolean_smtp_outlook_send_app_permission', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_send_app_permission', function ( $result, string $rawMime, array $settings ) { return $result; }, 10, 3 );boolean_smtp_outlook_send_one_clickfilterTier BFilters the result of an Outlook One Click send.add_filter( 'boolean_smtp_outlook_send_one_click', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_send_one_click', function ( $result, string $rawMime, array $settings ) { return $result; }, 10, 3 );boolean_smtp_outlook_settings_schemafilterTier BFilters the Outlook connection settings schema before it is returned to the admin UI.add_filter( 'boolean_smtp_outlook_settings_schema', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_settings_schema', function ( array $schema ) { return $schema; }, 10, 1 );boolean_smtp_outlook_validate_settingsfilterTier BFilters validation errors for an Outlook connection using a delivery mode not implemented by the free transport.add_filter( 'boolean_smtp_outlook_validate_settings', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_validate_settings', function ( array $errors, string $mode, array $settings ) { return $errors; }, 10, 3 );boolean_smtp_outlook_validation_rulesfilterTier BFilters the validation rules for Outlook connection settings.add_filter( 'boolean_smtp_outlook_validation_rules', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_outlook_validation_rules', function ( array $rules ) { return $rules; }, 10, 1 );boolean_smtp_plain_text_bodyfilterTier AFilters the automatically generated plain-text alternative body.add_filter( 'boolean_smtp_plain_text_body', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_plain_text_body', function ( string $plainText, string $htmlBody ) { return $plainText; }, 10, 2 );boolean_smtp_pro_register_providersactionTier AFires during plugin boot so the Pro addon can register its service providers.add_action( 'boolean_smtp_pro_register_providers', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_pro_register_providers', function ( \BooleanSmtp\Core\Container\Application $app ) { // React to the event. }, 10, 1 );boolean_smtp_pro_upgrade_urlfilterTier BFilters the URL shown to users to upgrade to BooleanSMTP Pro.add_filter( 'boolean_smtp_pro_upgrade_url', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_pro_upgrade_url', function ( string $url ) { return $url; }, 10, 1 );boolean_smtp_process_queueaction (WP-Cron)Tier BFires every minute while the email queue is enabled; each run sends one batch of queued messages.add_action( 'boolean_smtp_process_queue', $callback, 10, 0 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_process_queue', function () { // React to the event. }, 10, 1 );boolean_smtp_prune_logsaction (WP-Cron)Tier BFires daily; each run deletes the email log entries older than the retention period.add_action( 'boolean_smtp_prune_logs', $callback, 10, 0 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_prune_logs', function () { // React to the event. }, 10, 1 );boolean_smtp_queue_batch_sizefilterTier BFilters how many queued messages one worker run sends.add_filter( 'boolean_smtp_queue_batch_size', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_queue_batch_size', function ( int $size ) { return $size; }, 10, 1 );boolean_smtp_queue_should_enqueuefilterTier AFilters whether a message is queued for background delivery instead of being sent now.add_filter( 'boolean_smtp_queue_should_enqueue', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_queue_should_enqueue', function ( bool $enqueue, array $atts ) { return $enqueue; }, 10, 2 );boolean_smtp_resolve_connectionfilterTier AFilters the connection resolved for an outgoing message, after routing rules and sender matching have run.add_filter( 'boolean_smtp_resolve_connection', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_resolve_connection', function ( array $connectionArray, array $emailData ) { return $connectionArray; }, 10, 2 );boolean_smtp_resolve_routing_rule_connectionfilterTier AFilters the connection a routing rule resolves for an outgoing message.add_filter( 'boolean_smtp_resolve_routing_rule_connection', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_resolve_routing_rule_connection', function ( ?array $resolved, array $emailData ) { return $resolved; }, 10, 2 );boolean_smtp_rest_capabilityfilterTier AFilters the capability required to use the BooleanSMTP REST API.add_filter( 'boolean_smtp_rest_capability', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_rest_capability', function ( string $capability ) { return $capability; }, 10, 1 );boolean_smtp_sensitive_keysfilterTier AFilters the exact settings-key names whose values are encrypted at rest, masked in REST responses and redacted from logs.add_filter( 'boolean_smtp_sensitive_keys', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_sensitive_keys', function ( array $keys ) { return $keys; }, 10, 1 );boolean_smtp_ses_iam_credentialsfilterTier BFilters the predefined IAM credentials available for SES connections to select from.add_filter( 'boolean_smtp_ses_iam_credentials', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_ses_iam_credentials', function ( array $credentials ) { return $credentials; }, 10, 1 );boolean_smtp_ses_iam_selectorfilterTier BFilters the list of predefined IAM credentials offered in the SES connection form.add_filter( 'boolean_smtp_ses_iam_selector', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_ses_iam_selector', function ( array $identities ) { return $identities; }, 10, 1 );boolean_smtp_ses_settings_schemafilterTier BFilters the Amazon SES connection settings schema before it is returned to the admin UI.add_filter( 'boolean_smtp_ses_settings_schema', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_ses_settings_schema', function ( array $schema ) { return $schema; }, 10, 1 );boolean_smtp_should_log_emailfilterTier AFilters whether a message is written to the email log.add_filter( 'boolean_smtp_should_log_email', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_should_log_email', function ( bool $log, array $mail_data, ?\BooleanSmtp\Models\Connection $connection ) { return $log; }, 10, 3 );boolean_smtp_should_notify_delivery_failurefilterTier AFilters whether a final delivery failure is announced and notified.add_filter( 'boolean_smtp_should_notify_delivery_failure', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_should_notify_delivery_failure', function ( bool $should_notify, array $context ) { return $should_notify; }, 10, 2 );boolean_smtp_should_store_smtp_transcriptfilterTier BFilters whether the SMTP transcript of a send is stored as a debug session file.add_filter( 'boolean_smtp_should_store_smtp_transcript', $callback, 10, 3 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_should_store_smtp_transcript', function ( bool $store, \BooleanSmtp\Models\Connection $connection, int $level ) { return $store; }, 10, 3 );boolean_smtp_simulation_capturedactionTier AFires after a message has been captured by Email Simulation Mode instead of being sent.add_action( 'boolean_smtp_simulation_captured', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_simulation_captured', function ( array $payload ) { // React to the event. }, 10, 1 );boolean_smtp_skip_fallback_retryfilterTier AFilters whether the fallback retry should be skipped for a failed send.add_filter( 'boolean_smtp_skip_fallback_retry', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_skip_fallback_retry', function ( bool $skip, \WP_Error $error ) { return $skip; }, 10, 2 );boolean_smtp_slack_notification_payloadfilterTier AFilters the Slack webhook payload before it is sent.add_filter( 'boolean_smtp_slack_notification_payload', $callback, 10, 4 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_slack_notification_payload', function ( array $payload, string $message, array $context, array $settings ) { return $payload; }, 10, 4 );boolean_smtp_telegram_notification_textfilterTier AFilters the Telegram message text (HTML-formatted) before it is sent.add_filter( 'boolean_smtp_telegram_notification_text', $callback, 10, 4 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_telegram_notification_text', function ( string $text, string $message, array $context, array $settings ) { return $text; }, 10, 4 );boolean_smtp_test_email_sentactionTier AFires after the admin test-email tool has attempted a send.add_action( 'boolean_smtp_test_email_sent', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'boolean_smtp_test_email_sent', function ( array $result ) { // React to the event. }, 10, 1 );boolean_smtp_transport_settings_schemafilterTier BFilters a transport's connection settings schema before the admin UI renders it.add_filter( 'boolean_smtp_transport_settings_schema', $callback, 10, 2 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_transport_settings_schema', function ( array $schema, string $driver ) { return $schema; }, 10, 2 );boolean_smtp_transportsfilterTier AFilters the map of registered transport drivers.add_filter( 'boolean_smtp_transports', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_transports', function ( array $registered ) { return $registered; }, 10, 1 );boolean_smtp_vite_dev_server_urlfilterTier CFilters the resolved Vite dev-server URL.add_filter( 'boolean_smtp_vite_dev_server_url', $callback, 10, 1 );add_filter( 'boolean_smtp_vite_dev_server_url', function ( string $url ) { return $url; }, 10, 1 );Internal — no stability promise; may change or disappear in any release.
Full reference — parameters, where it fires →boolean_smtp_zoho_oauth_redirect_urifilterTier AFilters the redirect URI used for the Zoho OAuth2 connection flow.add_filter( 'boolean_smtp_zoho_oauth_redirect_uri', $callback, 10, 1 );
Full reference — parameters, where it fires →add_filter( 'boolean_smtp_zoho_oauth_redirect_uri', function ( string $default ) { return $default; }, 10, 1 );booleanpress_auth_failureactionTier BFires when a request is rejected by the authentication middleware.add_action( 'booleanpress_auth_failure', $callback, 10, 1 );
Full reference — parameters, where it fires →add_action( 'booleanpress_auth_failure', function ( array $data ) { // React to the event. }, 10, 1 );
No hooks match these filters.