Problème lors des inscriptions d'utilisateurs

Vous avez des problèmes ou des interrogations à propos d'Agora Project ?
Vanillla
Messages : 4
Inscription : 25 avr. 2025, 21:22

Problème lors des inscriptions d'utilisateurs

Message par Vanillla »

Bonjour,

J'ai installé Agora, version 25.3.3, il y a peu. Je l'héberge sur mon serveur Infomaniak, version PHP 8.1 et avec MySQL 5.7 .

Le souci, c'est que personne ne parvient à créer un compte pour accéder à l'espace privé.

Sur mon interface administrateur, je reçois bien les demandes d'inscription. Je les valide et ce message d'erreur apparaît systématiquement :

Fatal error: Uncaught Error: Call to undefined function PHPMailer\PHPMailer\mail() in /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/misc/PHPMailer-6.9.3/src/PHPMailer.php:883 Stack trace: #0 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/misc/PHPMailer-6.9.3/src/PHPMailer.php(1966): PHPMailer\PHPMailer\PHPMailer->mailPassthru('zzz@gmai...', '=?us-ascii?Q?Bi...', '--b1=_tZofYMJqf...', 'Date: Fri, 25 A...', '-fnepasrepondre...') #1 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/misc/PHPMailer-6.9.3/src/PHPMailer.php(1689): PHPMailer\PHPMailer\PHPMailer->mailSend('Date: Fri, 25 A...', '--b1=_tZofYMJqf...') #2 /home/clients/de4a484b583a08dce987f26167ed737d/sites/partagevaldecher.fr/app/misc/PHPMailer-6.9.3/src/PHPMailer.php(1521): PHPMailer\PHPMailer\PHPMailer->postSend() #3 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/Common/Tool.php(136): PHPMailer\PHPMailer\PHPMailer->send() #4 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/ModUser/MdlUser.php(317): Tool::sendMail(Array, 'Bienvenue...', 'Votre compte ut...') #5 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/ModUser/CtrlUser.php(418): MdlUser->createCredentialsMail('680be3bf') #6 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/Common/Req.php(58): CtrlUser::actionUserInscriptionValidate() #7 /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/index.php(10): Req->__construct() #8 {main} thrown in /home/clients/de4a484b583a08dce987f26167ed737d/sites/monsite.fr/app/misc/PHPMailer-6.9.3/src/PHPMailer.php on line 883

L'icône en haut à droite m'indique que j'ai toujours la demande à valider, ce que je fais une seconde fois, et un bandeau m'indique alors que le mail/identifiant existe déjà. Donc, la personne ne reçoit aucun mail pour finaliser son inscription. Et l'icône en haut à droite disparaît.

Pourriez-vous m'aider, s'il vous plaît ?
Merci d'avance ! :-)
Dernière modification par Vanillla le 28 avr. 2025, 08:19, modifié 2 fois.
Vanillla
Messages : 4
Inscription : 25 avr. 2025, 21:22

Re: Problème lors des inscriptions d'utilisateurs

Message par Vanillla »

J'ajoute que les personnes qui ont tenté de créer un compte apparaissent dans la section "utilisateurs". Si je tente d'envoyer leurs identifiants de connexion, j'ai le même message d'erreur que celui mentionné ci-dessus (le même que lors de la validation des inscriptions).
Vanillla
Messages : 4
Inscription : 25 avr. 2025, 21:22

Re: Problème lors des inscriptions d'utilisateurs

Message par Vanillla »

J'ai résolu le problème en installant la nouvelle version PHPMailer-master. J'ai ensuite modifié le Tool.php pour que les mails fonctionnent en SMTP, au lieu de chercher mail().
Et les mails sont envoyés sans messages d'erreur, et les utilisateurs les reçoivent, ce qui est indispensable pour finaliser les inscriptions.
J'espère que cela pourra aider d'autres personnes, si elles sont face à ce problème.
xech
Administrateur du site
Messages : 1411
Inscription : 17 janv. 2008, 20:58

Re: Problème lors des inscriptions d'utilisateurs

Message par xech »

@Vanilla : Bonjour, la dernière version de PHPMailer sera ajouté à la future pouture d'Agora-Project. Sinon serait-il possible d'avoir un aperçu des modifications que vous avez apporté au fichier Tool.php ?
Merci!
Vanillla
Messages : 4
Inscription : 25 avr. 2025, 21:22

Re: Problème lors des inscriptions d'utilisateurs

Message par Vanillla »

Bonjour :)

Voici la partie du Tool.php que j'ai modifiée (en italique, les données que j'ai anonymisé ici :) ) :


//Namespace de PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

class Tool
{
public static function sendMail($mailsTo, $subject, $message, $options = null, $attachedFiles = null)
{
if (empty($mailsTo) || empty($message)) { return false; }
if (empty($options)) { $options = []; }

// Charge PHPMailer
if (!defined("phpmailerLoaded")) {
$phpMailerPath = 'app/misc/PHPMailer-master/src/';
require $phpMailerPath . 'Exception.php';
require $phpMailerPath . 'PHPMailer.php';
require $phpMailerPath . 'SMTP.php';
define("phpmailerLoaded", true);
}

$mail = new PHPMailer(true);

try {
// Configuration SMTP Infomaniak
$mail->isSMTP();
$mail->Host = 'mail.infomaniak.com';
$mail->Port = 465; // Utiliser 465 pour SSL direct
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Connexion sécurisée SSL
$mail->SMTPAuth = true;
if (empty(Ctrl::$agora->smtpUsername) && is_file(__DIR__.'/../../fichiersmpt.php')) {
require_once __DIR__.'/../../fichiersmpt.php';
$mail->Username = SMTP_USER;
$mail->Password = SMTP_PASS;
} else {
$mail->Username = Ctrl::$agora->smtpUsername;
$mail->Password = Ctrl::$agora->smtpPass;
}
$mail->CharSet = 'UTF-8';

// Options SSL pour éviter les erreurs de certificat
$mail->SMTPOptions = [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
],
];

// Expéditeur
$mail->setFrom('contact@monsite.fr', 'Monsite');

// Gestion des destinataires
if (is_array($mailsTo)) {
foreach ($mailsTo as $email) {
$mail->addAddress($email);
}
} else {
$mail->addAddress($mailsTo);
}


J'ai créé un fichier spécifique dans une partie sécurisée de mon serveur auquel se réfèrent les lignes suivantes :
if (empty(Ctrl::$agora->smtpUsername) && is_file(__DIR__.'/../../fichiersmpt.php')) {
require_once __DIR__.'/../../fichiersmpt.php';
$mail->Username = SMTP_USER;
$mail->Password = SMTP_PASS;

Ces modifications ont permis de débloquer la fonction mail.
sillonLZ
Messages : 17
Inscription : 25 juin 2020, 02:48

Re: Problème lors des inscriptions d'utilisateurs

Message par sillonLZ »

Bonjour,

pensez-vous qu'il soit possible que cette version obsolète de phpmailer soit la cause d'un dysfonctionnement que je viens de rencontrer en voulant envoyer une notification lors de la création d'un nouveau message sur notre forum (version 25.3.3) auto-hébergé sur un serveur mutualisé OVH ?

Ce qui me parait bizarre, c'est que le message d'erreur renvoyé évoque un quota d'envoi de mails dépassé (cf capture d'écran ci-jointe), or l'interface OVH ne nous signale rien de ce genre...

Auriez-vous une idée à ce propos svp ?
Merci d'avance.
eM pour les bénévoles du Sillon Lauzé
Pièces jointes
email_smtp_bug.jpg
email_smtp_bug.jpg (33.59 Kio) Consulté 51726 fois
Répondre