Bonjour,
J'ai une extension PHPMailer comme ceci:Lorsque je fais appel à la classe SMTP, j'ai une erreur Class "SMTP" not found in mon fichier. Pourtant le fichier "vendor/phpmailer/phpmailer/src/SMTP.php" existe bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 namespace UsePHPMailer; require_once('vendor/phpmailer/phpmailer/src/PHPMailer.php'); require_once("vendor/phpmailer/phpmailer/src/SMTP.php"); require_once("vendor/phpmailer/phpmailer/src/Exception.php"); use \PHPMailer\PHPMailer\PHPMailer; use \PHPMailer\PHPMailer\SMTP; use \Exception; class UsePHPMailer extends PHPMailer { // ... } class_alias('UsePHPMailer\UsePHPMailer', 'UsePHPMailer', false);
De plus, dans le fichier parent de mon fichier, j'ai la ligne: require_once DIR_ROOT.'vendor'.DIRECTORY_SEPARATOR.'autoload.php';.
J'ai trouvé, il manque la ligne use \PHPMailer\PHPMailer\SMTP; dans le fichier utilisant la classe UsePhpMailer. Je ne comprends pas pourquoi il est nécessaire de répéter l'instruction use \PHPMailer\PHPMailer\SMTP; alors que d'une part elle figure dans l'extension UsePHPMailer et qu'il n'est pas nécessaire de répéter use \PHPMailer\PHPMailer\PHPMailer;.
Partager