HEX
Server: Apache
System: Linux pdx1-shared-a2-09 6.6.116-grsec-jammy-dirty #1 SMP Sat Nov 8 00:02:42 UTC 2025 x86_64
User: dh_pvsc7i (5084578)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: /home/dh_pvsc7i/stevenfranssen.com/wp-content/plugins/wp-mail-smtp/src/OptimizedEmailSending.php
<?php

namespace WPMailSMTP;

/**
 * OptimizedEmailSending class.
 *
 * @since 4.0.0
 */
class OptimizedEmailSending {

	/**
	 * The slug of the option that toggles optimized email sending.
	 *
	 * @since 4.0.0
	 */
	const SETTINGS_SLUG = 'optimize_email_sending_enabled';

	/**
	 * Register hooks.
	 *
	 * @since 4.0.0
	 */
	public function hooks() {

		if ( self::is_enabled() ) {
			// Enable the queue.
			add_filter( 'wp_mail_smtp_queue_is_enabled', '__return_true' );

			// Avoid enqueueing emails if current request
			// is a cron request, a CLI request,
			// or an ActionScheduler task as 3rd party plugins might
			// be carrying out their own sending optimizations
			// through it.
			if (
				! ( defined( 'WP_CLI' ) && WP_CLI ) &&
				! wp_doing_cron() &&
				! doing_action( 'action_scheduler_run_queue' )
			) {
				// Start enqueueing emails.
				add_filter( 'wp_mail_smtp_mail_catcher_send_enqueue_email', '__return_true' );
			}
		}
	}

	/**
	 * Whether optimized email sending is enabled.
	 *
	 * @since 4.0.0
	 *
	 * @return bool
	 */
	public static function is_enabled() {

		$value = Options::init()->get( 'general', self::SETTINGS_SLUG );

		return (bool) $value;
	}
}