Lors de l'utilisation de PHPMailer, la gestion des erreurs peut être un peu délicate. PHPMailer affiche les erreurs directement dans le navigateur, ce qui interfère avec la gestion personnalisée des erreurs.
La méthode $mail->Send() est utilisée pour envoyer l'e-mail. En cas d'échec, il définit la propriété $mail->ErrorInfo et renvoie false. Cependant, PHPMailer fait également écho au message d'erreur, ce qui peut perturber la gestion des erreurs.
Solution :
PHPMailer permet la gestion des erreurs à l'aide d'exceptions. En définissant le constructeur PHPMailer sur true, la bibliothèque lèvera des exceptions sur les erreurs. Voici comment procéder :
require_once '../class.phpmailer.php'; $mail = new PHPMailer(true); //throws exceptions on errors try { // ... Set up the email as usual ... if ($mail->Send()) { echo "Email successful"; } } catch (phpmailerException $e) { echo $e->errorMessage(); //PHPMailer error message } catch (Exception $e) { echo $e->getMessage(); //Generic error message }
Cette approche sépare la gestion des erreurs du processus d'envoi réel, garantissant que toutes les erreurs sont gérées correctement sans affecter l'expérience utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!