Skip to content
Advertisement

Error: Class ‘PHPMailer’ not found

Error: Fatal error: Uncaught Error: Class ‘PHPMailer’ not found in C:xampphtdocsphp-mailerindex.php:4 Stack trace: #0 {main} thrown in C:xampphtdocsphp-mailerindex.php on line 4

My PHP Code here:

require("src/PHPMailer.php");
require("src/Exception.php");
$mail = new PHPMailer();  

$mail->IsSMTP();                                      
$mail->Host = 'smtp.gmail.com'; 
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "gmail id";  // SMTP username
$mail->Password = "mypassword"; // SMTP password

$mail->From = "opensourcesivaprakash@gmail.com";
$mail->FromName = "Mailer";
$mail->AddAddress("siva.sing.sivan@gmail.com", "Josh Adams");
$mail->AddAddress("sp");                  // name is optional
//$mail->AddReplyTo("opensourcesivaprakash@gmail.com", "Information");

$mail->WordWrap = 50;                                 // set word wrap to 50 characters
//$mail->AddAttachment("/var/tmp/file.tar.gz");         // add attachments
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    // optional name
$mail->IsHTML(true);                                  // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body in bold!";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. 
";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";

Please let me know what mistake I made here in my code.

Advertisement

Answer

It’s because you’ve not considered PHPMailer’s namespace. Do one of these two things:

Change your instantiation to use a fully-qualified class name (FQCN):

$mail = new PHPMailerPHPMailerPHPMailer();

Alternatively, define the import at the top of your file, before you load the classes:

use PHPMailerPHPMailerPHPMailer;

This will allow your existing new PHPMailer line to work.

All the examples provided with PHPMailer use the latter approach, and it’s also described in the troubleshooting guide.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement