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 22:34:20
Editing: DomainChecker.php
Cancel
Save Changes
<?php namespace WPMailSMTP\Admin; use WPMailSMTP\Helpers\Helpers; /** * Class for interacting with the Domain Checker API. * * @since 2.6.0 */ class DomainChecker { /** * The domain checker API endpoint. * * @since 2.6.0 */ const ENDPOINT = 'https://connect.wpmailsmtp.com/domain-check/'; /** * The API results. * * @since 2.6.0 * * @var array */ private $results; /** * The plugin mailer slug. * * @since 2.7.0 * * @var string */ protected $mailer; /** * Verify the domain for the provided mailer and email address and save the API results. * * @since 2.6.0 * * @param string $mailer The plugin mailer. * @param string $email The email address from which the domain will be extracted. * @param string $sending_domain The optional sending domain to check the domain records for. */ public function __construct( $mailer, $email, $sending_domain = '' ) { $this->mailer = $mailer; $params = [ 'mailer' => $mailer, 'email' => base64_encode( $email ), // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode 'domain' => $sending_domain, ]; $response = wp_remote_get( add_query_arg( $params, self::ENDPOINT ), [ 'user-agent' => Helpers::get_default_user_agent(), ] ); if ( is_wp_error( $response ) ) { $this->results = [ 'success' => false, 'message' => method_exists( $response, 'get_error_message' ) ? $response->get_error_message() : esc_html__( 'Something went wrong. Please try again later.', 'wp-mail-smtp' ), 'checks' => [], ]; } else { $this->results = json_decode( wp_remote_retrieve_body( $response ), true ); } } /** * Simple getter for the API results. * * @since 2.6.0 * * @return array */ public function get_results() { return $this->results; } /** * Check if the domain checker has found any errors. * * @since 2.6.0 * * @return bool */ public function has_errors() { if ( empty( $this->results['success'] ) ) { return true; } if ( empty( $this->results['checks'] ) ) { return false; } $has_error = false; foreach ( $this->results['checks'] as $check ) { if ( $check['state'] === 'error' ) { $has_error = true; break; } } return $has_error; } /** * Check if the domain checker has not found any errors or warnings. * * @since 2.6.0 * * @return bool */ public function no_issues() { if ( empty( $this->results['success'] ) ) { return false; } $no_issues = true; foreach ( $this->results['checks'] as $check ) { if ( in_array( $check['state'], [ 'error', 'warning' ], true ) ) { $no_issues = false; break; } } return $no_issues; } /** * Check if the domain checker support mailer. * * @since 2.7.0 * * @return bool */ public function is_supported_mailer() { return ! in_array( $this->mailer, [ 'mail', 'pepipostapi' ], true ); } /** * Get the domain checker results html. * * @since 2.8.0 * * @return string */ public function get_results_html() { $results = $this->get_results(); $allowed_html = [ 'b' => [], 'i' => [], 'a' => [ 'href' => [], 'target' => [], 'rel' => [], ], ]; ob_start(); ?> <div id="wp-mail-smtp-domain-check-details"> <h2><?php esc_html_e( 'Domain Check Results', 'wp-mail-smtp' ); ?></h2> <?php if ( empty( $results['success'] ) ) : ?> <div class="notice-inline <?php echo $this->is_supported_mailer() ? 'notice-error' : 'notice-warning'; ?>"> <p><?php echo wp_kses( $results['message'], $allowed_html ); ?></p> </div> <?php endif; ?> <?php if ( ! empty( $results['checks'] ) ) : ?> <div class="wp-mail-smtp-domain-check-details-check-list"> <?php foreach ( $results['checks'] as $check ) : ?> <div class="wp-mail-smtp-domain-check-details-check-list-item"> <img src="<?php echo esc_url( wp_mail_smtp()->assets_url . '/images/icons/' . esc_attr( $check['state'] ) . '.svg' ); ?>" class="wp-mail-smtp-domain-check-details-check-list-item-icon" alt="<?php printf( /* translators: %s - item state name. */ esc_attr__( '%s icon', 'wp-mail-smtp' ), esc_attr( $check['state'] ) ); ?>"> <div class="wp-mail-smtp-domain-check-details-check-list-item-content"> <h3><?php echo esc_html( $check['type'] ); ?></h3> <p><?php echo wp_kses( $check['message'], $allowed_html ); ?></p> </div> </div> <?php endforeach; ?> </div> <?php endif; ?> </div> <?php return ob_get_clean(); } }
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