Server IP : 172.67.158.161 / Your IP : 3.142.252.87 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/mailpoet/lib/API/JSON/v1/ |
Upload File : |
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\API\JSON\v1; if (!defined('ABSPATH')) exit; use MailPoet\API\JSON\Endpoint as APIEndpoint; use MailPoet\API\JSON\Error as APIError; use MailPoet\Config\AccessControl; use MailPoet\Mailer\MailerFactory; use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MetaInfo; use MailPoet\Services\AuthorizedEmailsController; use MailPoet\Services\AuthorizedSenderDomainController; use MailPoet\Services\Bridge; use MailPoet\Settings\SettingsController; class Mailer extends APIEndpoint { /** @var AuthorizedEmailsController */ private $authorizedEmailsController; /** @var Bridge */ private $bridge; /** @var SettingsController */ private $settings; /** @var MetaInfo */ private $mailerMetaInfo; /** @var MailerFactory */ private $mailerFactory; /** @var AuthorizedSenderDomainController */ private $senderDomainController; public $permissions = [ 'global' => AccessControl::PERMISSION_MANAGE_EMAILS, ]; public function __construct( AuthorizedEmailsController $authorizedEmailsController, SettingsController $settings, Bridge $bridge, MailerFactory $mailerFactory, MetaInfo $mailerMetaInfo, AuthorizedSenderDomainController $senderDomainController ) { $this->authorizedEmailsController = $authorizedEmailsController; $this->settings = $settings; $this->bridge = $bridge; $this->mailerFactory = $mailerFactory; $this->mailerMetaInfo = $mailerMetaInfo; $this->senderDomainController = $senderDomainController; } public function send($data = []) { try { $mailer = $this->mailerFactory->buildMailer( $data['mailer'] ?? null, $data['sender'] ?? null, $data['reply_to'] ?? null ); // report this as 'sending_test' in metadata since this endpoint is only used to test sending methods for now $extraParams = [ 'meta' => $this->mailerMetaInfo->getSendingTestMetaInfo(), ]; $result = $mailer->send($data['newsletter'], $data['subscriber'], $extraParams); } catch (\Exception $e) { return $this->errorResponse([ $e->getCode() => $e->getMessage(), ]); } if ($result['response'] === false) { $error = sprintf( // translators: %s is the error message. __('The email could not be sent: %s', 'mailpoet'), $result['error']->getMessage() ); return $this->errorResponse([APIError::BAD_REQUEST => $error]); } else { return $this->successResponse(null); } } public function resumeSending() { if ($this->settings->get(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING)) { $this->authorizedEmailsController->checkAuthorizedEmailAddresses(); } MailerLog::resumeSending(); return $this->successResponse(null); } public function getAuthorizedEmailAddresses() { $authorizedEmails = $this->bridge->getAuthorizedEmailAddresses(); return $this->successResponse($authorizedEmails); } public function getVerifiedSenderDomains() { $verifiedDomains = $this->senderDomainController->getVerifiedSenderDomains(); return $this->successResponse($verifiedDomains); } }