Skip to content

Si mail() n'est pas activé, afficher un mot gentil plutôt que voir un bloc Fatal error

Facteur v5.2.0 / SPIP 4.3.2 / PHP8.2.20

Installation sur un mutu bridé, test depuis facteur avec envoi par mail() configuré renvoi une Fatal error.

A la vérification du PHP, mail est bien dans disable_functions.

Peut-être détecter que mail n'est pas actif et renvoyer un petit mot "La fonction mail() n'est pas activée"

Fatal error: Uncaught Error: Call to undefined function PHPMailer\PHPMailer\mail() in /chemin/facteur/v5.2.0/lib/PHPMailer-6/src/PHPMailer.php:881 Stack trace: 
#0 /chemin/facteur/v5.2.0/lib/PHPMailer-6/src/PHPMailer.php(1970): PHPMailer\PHPMailer\PHPMailer->mailPassthru('mail@example.com', '=?utf-8?Q?[2024...', '--b1=_ixukpIdcs...', 'Date: Sat, 24 A...', NULL) 
#1 /chemin/facteur/v5.2.0/lib/PHPMailer-6/src/PHPMailer.php(1691): PHPMailer\PHPMailer\PHPMailer->mailSend('Date: Sat, 24 A...', '--b1=_ixukpIdcs...') 
#2 /chemin/facteur/v5.2.0/lib/PHPMailer-6/src/PHPMailer.php(1523): PHPMailer\PHPMailer\PHPMailer->postSend() 
#3 [internal function]: PHPMailer\PHPMailer\PHPMailer->send() 
#4 /chemin/facteur/v5.2.0/inc/Facteur/FacteurMail.php(581): call_user_func_array(Array, Array) 
#5 /chemin/facteur/v5.2.0/inc/Facteur/FacteurMail.php(614): SPIP\Facteur\FacteurMail->callWrapper(Array, Array) 
#6 /chemin/facteur/v5.2.0/inc/facteur.php(251): SPIP\Facteur\FacteurMail->Send() 
#7 /chemin/facteur/v5.2.0/inc/envoyer_mail.php(98): facteur_envoyer_mail(Array, '[2024-08-24 01:...', Array) 
#8 /chemin/facteur/v5.2.0/formulaires/tester_facteur.php(171): inc_envoyer_mail('mail@example.com', '[2024-08-24 01:...', Array) 
#9 /chemin/facteur/v5.2.0/formulaires/tester_facteur.php(79): facteur_envoyer_mail_test('mail@example.com', '[2024-08-24 01:...', '<!DOCTYPE html ...', Array) 
#10 /home/sites/example.org/ecrire/public/aiguiller.php(288): formulaires_tester_facteur_traiter_dist() 
#11 /home/sites/example.org/ecrire/index.php(70): traiter_formulaires_dynamiques() 
#12 {main} thrown in /chemin/facteur/v5.2.0/lib/PHPMailer-6/src/PHPMailer.php on line 881
Modification effectuée par touti