From dba24b8c18aed84a71c3169b2df5598d62deab06 Mon Sep 17 00:00:00 2001 From: polo Date: Sun, 17 Aug 2025 19:46:20 +0200 Subject: =?UTF-8?q?classe=20FormValidation=20et=20am=C3=A9lioration=20des?= =?UTF-8?q?=20envois=20d'e-mail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/EmailService.php | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/EmailService.php (limited to 'src/EmailService.php') diff --git a/src/EmailService.php b/src/EmailService.php new file mode 100644 index 0000000..c1f74d1 --- /dev/null +++ b/src/EmailService.php @@ -0,0 +1,67 @@ + exceptions + $mail->CharSet = 'UTF-8'; + + try{ + // Paramètres du serveur + $mail->isSMTP(); + $mail->Host = Config::$smtp_host; + $mail->SMTPAuth = true; + $mail->Port = 25; + + if($mail->SMTPAuth){ + $mail->Username = Config::$smtp_username; // e-mail + $mail->Password = Config::$smtp_password; + $mail->SMTPSecure = Config::$smtp_secure; // tls (starttls) ou ssl (smtps) + if($mail->SMTPSecure === 'tls'){ + $mail->Port = 587; + } + elseif($mail->SMTPSecure === 'ssl'){ + $mail->Port = 465; + } + } + //var_dump($mail->smtpConnect());die; // test de connexion + + // Expéditeur et destinataire + $mail->setFrom(strtolower(Config::$email_from), Config::$email_from_name); // expéditeur + $mail->addAddress(strtolower($recipient), Config::$email_dest_name); // destinataire + + // Contenu + $mail->isHTML(true); + if($true_email){ + $mail->Subject = 'Message envoyé par: ' . $name . ' (' . $email . ') depuis le site web'; + } + else{ + $mail->Subject = "TEST d'un envoi d'e-mail depuis le site web"; + } + $mail->Body = $message; + $mail->AltBody = $message; + + $mail->send(); + + // copie en BDD + $db_email = new Email($email, Config::$email_dest, $message); + $entityManager->persist($db_email); + $entityManager->flush(); + + return true; + } + catch(Exception $e){ + return false; + //echo "Le message n'a pas pu être envoyé. Erreur : {$mail->ErrorInfo}"; + } + } +} \ No newline at end of file -- cgit v1.2.3