ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-15 12:06:05
Editing: CleanupQueueTask.php
Cancel
Save Changes
<?php namespace WPMailSMTP\Tasks\Queue; use DateTime; use DateTimeZone; use WPMailSMTP\Queue\Attachments; use WPMailSMTP\Tasks\Task; use WPMailSMTP\Tasks\Tasks; /** * Class CleanupQueueTask. * * @since 4.0.0 */ class CleanupQueueTask extends Task { /** * Action name for this task. * * @since 4.0.0 */ const ACTION = 'wp_mail_smtp_queue_cleanup'; /** * Class constructor. * * @since 4.0.0 */ public function __construct() { parent::__construct( self::ACTION ); } /** * Initialize the task. * * @since 4.0.0 */ public function init() { // phpcs:ignore WPForms.PHP.HooksMethod.InvalidPlaceForAddingHooks // Register the action handler. add_action( self::ACTION, [ $this, 'process' ] ); // Exit if this task the queue is disabled, or it's already scheduled. if ( ! wp_mail_smtp()->get_queue()->is_enabled() || Tasks::is_scheduled( self::ACTION ) !== false ) { return; } // Schedule the task. $this->recurring( strtotime( 'now' ), DAY_IN_SECONDS ) ->unique() ->register(); } /** * Perform email sending. * * @since 4.0.0 */ public function process() { $queue = wp_mail_smtp()->get_queue(); $attachments = new Attachments(); // Cleanup processed emails. $queue->cleanup(); // Cleanup older-than-a-month attachments. $attachments->delete_attachments( null, new DateTime( '1 month ago', new DateTimeZone( 'UTC' ) ) ); if ( ! $queue->is_enabled() ) { // If the query has been disabled in the meanwhile, // and there aren't any emails left, // cancel the cleanup task. $queued_emails_count = $queue->count_queued_emails(); $processed_emails_count = $queue->count_processed_emails(); if ( $queued_emails_count === 0 && $processed_emails_count === 0 ) { // Cleanup any remaining, older-than-an-hour attachments. $attachments->delete_attachments( null, new DateTime( '1 hour ago', new DateTimeZone( 'UTC' ) ) ); $this->cancel_force(); } } } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete