HEX
Server: LiteSpeed
System: Linux dune179.sitesanctuary.org 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 07:08:17 EDT 2024 x86_64
User: h278792 (1197)
PHP: 8.1.29
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h278792/www/wp-content/plugins/easy-form-builder/includes/class-Emsfb-requirement.php
<?php
namespace Emsfb;

/**
 * Class Admin
 *
 * @package Emsfb
 */

if (!defined('ABSPATH')) exit;

class CheckRequirementEmsfb {

    const OPTION_KEY = 'emsfb_email_status';



    public static function run_and_save_efb() {
        $result = self::check_email_capability_efb();
        update_option(self::OPTION_KEY, $result, false);
    }

    public static function get_result() {
        return get_option(self::OPTION_KEY);
    }

    public static function check_email_capability_efb() {

        $results = [
            'status' => 'ok',
            'message' => [
                'id' => 'mail_function_ok',
            ],
            'details' => [],
        ];



        if (!function_exists('mail')) {
            return [
                'status' => 'error',
                'message' => [
                    'id' => 'mail_function_missing',
                ]
            ];
        }

        $disabled = array_map('trim', explode(',', ini_get('disable_functions')));
        if (in_array('mail', $disabled)) {
            return [
                'status' => 'error',
                'message' => [
                    'id' => 'mail_function_disabled',
                ]
            ];
        }

        if (!function_exists('wp_mail')) {
            return [
                'status' => 'error',
                'message' => [
                    'id' => 'wp_mail_function_missing',
                ]
            ];
        }

        $smtp = ini_get('SMTP');
        $sendmail = ini_get('sendmail_path');
        if (empty($smtp) && empty($sendmail)) {
            $results['status'] = 'warning';
            $results['message'] = [
                'id' => 'smtp_sendmail_empty',
            ];

        }

        $to = get_option('admin_email');
        $subject ='Test Email from Easy Form Builder';
        $body = 'This is a test email sent by your WordPress site to check if your server can send emails.';
        $headers = ['Content-Type: text/plain; charset=UTF-8'];

        ob_start();
        $sent = wp_mail($to, $subject, $body, $headers);
        $debug = trim(ob_get_clean());

        if (!$sent) {
           $results= [
                'status' => 'error',
                'message' => [
                    'id' => 'mail_function_failed',
                ]
            ];
        }else{

            $results['message'] = [
                'id' => 'mail_function_ok',
            ];
        }

        return $results;
    }
}