首页 > 解决方案 > 致命错误:未捕获的错误:找不到类“PHPMailer”

问题描述

当我提交约会表格时,我遇到了这个错误“致命错误:未捕获的错误:找不到类'PHPMailer'”。该代码在本地主机上运行良好,但在实时服务器上运行不正常。

在实时服务器上,我在所有文件所在的网站根目录上创建了一个名为“phpmailer”的目录。“phpmailer”目录有 4 个文件:

  1. 类.phpmailer.php
  2. 类.smtp.php
  3. 凭证.php
  4. PHPMailerAutoload.php

我还从“phpmailer”目录中复制了文件“PHPMailerAutoload.php”,然后编辑文件“PHPMailerAutoload.php”并通过放置 phpmailer 来更改路径。

这是电子邮件代码:

    require 'PHPMailerAutoload.php';
    require 'phpmailer/credentials.php';

    $mail = new PHPMailer;  // This line has an error of PHPMailer class not found 

    $mail->SMTPDebug = 0;                                    

    $mail->isSMTP();                                         
    $mail->Host = 'smtp.ipage.com';                          
    $mail->SMTPAuth = true;                                  
    $mail->Username = EMAIL;                                 
    $mail->Password = PASS;                                  
    $mail->SMTPSecure = 'tls';                               
    $mail->Port = 587;                                       

    $mail->setFrom(EMAIL, 'Symbiosis Home Care');
    $mail->addAddress('babarabid123@gmail.com', 'Babar Ali');
    
    $mail->addReplyTo(EMAIL);

    $mail->Subject = "Enquiry Form - Symbiosis Home Care";
    $mail->Body    = 'New Enquiry Received';

    if(!$mail->send()) {
        echo 'Message could not be sent.';
          echo 'Mailer Error: ' . $mail->ErrorInfo;
    } 
    else{
          if (!empty($i_name)) {
            $result='<div class="alert alert-success background-success">
                <button aria-label="Close" class="close" data-dismiss="alert" type="button"><i class="fa fa-close"></i></button>Welcome <strong>' . $i_name .',</strong> Thanks For Contacting Us. We Will Get Back To You Soon.</div>';
            echo $result;
          }
          else {}
    }

标签: phpemailsmtpphpmailer

解决方案


你在你的 livesystem 上安装了 PHPMailer 吗?

composer require phpmailer/phpmailer

如果不想安装 Composer,可以手动添加 PHPMailer。下载包含 PHPMailer 源代码的文件,然后将 PHPMailer 文件夹的内容复制到 PHP 配置中指定的 include_path 目录之一,并手动加载每个类文件:

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

添加异常类将帮助您处理错误并调试它们。


推荐阅读