historique::getIdRef("ERROR"), "idUser" => session::getId(), "idPage" => historique::getIdRef("script"), "log" => "L'email en erreur car toutes les valeurs ne sont pas présentes." )); return FALSE; } // Créer une instance de PHPMailer $mail = new PHPMailer(true); try { // Paramètres du serveur self::configureMailer($mail); // Si debug if(debug::isFile("email")){ $mail->SMTPDebug = 1; } // Destinataires $mail->setFrom(self::$fromEmail, self::$fromName); $mail->addAddress($to, $name); $mail->CharSet = 'UTF-8'; // Contenu de l'email $mail->isHTML(true); $mail->Subject = "CSE Invent :. ". $subject; $mail->Body = $template; if(!debug::isFile("email")){ $mail->send(); } return true; } catch (Exception $e) { historique::recRef("script"); historique::add(array( "idType" => historique::getIdRef("ERROR"), "idUser" => session::getId(), "idPage" => historique::getIdRef("script"), "log" => $mail->ErrorInfo )); return false; } } /** * Charge le template d'email spécifié. * * @param string $templateName Le nom du template à charger. * @return string|bool Le contenu du template ou FALSE en cas d'échec. */ public static function loadTemplate(string $templateName) { $templatePath = self::$templateDir . $templateName; $template = file_get_contents($templatePath); return $template !== false ? $template : false; } /** * Configure les paramètres de PHPMailer. * * @param PHPMailer $mail L'instance de PHPMailer à configurer. */ private static function configureMailer(PHPMailer $mail) { $mail->isSMTP(); $mail->Host = self::$smtpServer; $mail->SMTPAuth = true; $mail->Username = self::$username; $mail->Password = self::$password; $mail->SMTPSecure = self::$smtpSecure; $mail->Port = self::$smtpPort; } }