| Server IP : 3.93.235.159 / Your IP : 216.73.216.140 Web Server : Apache System : Linux ip-172-26-0-169 5.10.0-46-cloud-amd64 #1 SMP Debian 5.10.262-1 (2026-07-31) x86_64 User : bitnami ( 1000) PHP Version : 8.2.9 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/site-mailer/modules/mailer/ |
Upload File : |
<?php
namespace SiteMailer\Modules\Mailer;
use SiteMailer\Classes\Module_Base;
use SiteMailer\Modules\Mailer\Classes\Mail_Handler;
use SiteMailer\Modules\Connect\Module as Connect;
use Throwable;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Class Module
*/
class Module extends Module_Base {
/**
* Get module name.
* Retrieve the module name.
* @access public
* @return string Module name.
*/
public function get_name(): string {
return 'mailer';
}
public static function component_list(): array {
return [
'Rate_Limit_Retry',
];
}
public static function routes_list(): array {
return [
'Resend_Mails',
'Send_Test_Mail',
];
}
/**
* send
*
* @param $sent
* @param array $email {
* Array of the `wp_mail()` arguments.
*
* @type string|string[] $to Array or comma-separated list of email addresses to send message.
* @type string $subject Email subject.
* @type string $message Message contents.
* @type string|string[] $headers Additional headers.
* @type string|string[] $attachments Paths to files to attach.
*
* @return bool
* @throws Throwable
*/
public function send( $sent, array $email ) {
// Validate and prepare email to send
try {
$handler = new Mail_Handler( $email, 'Normal' );
} catch ( Throwable $t ) {
return false;
}
// Send request to the external service
try {
$handler->send();
return true;
} catch ( Throwable $t ) {
// try to send via default WP function
return $sent;
}
}
public function __construct() {
$this->register_components();
if ( Connect::is_connected() ) {
add_filter( 'pre_wp_mail', [ $this, 'send' ], 10, 2 );
}
$this->register_routes();
}
}