php - 致命错误:未捕获的错误:找不到类“PHPMailer”
问题描述
当我提交约会表格时,我遇到了这个错误“致命错误:未捕获的错误:找不到类'PHPMailer'”。该代码在本地主机上运行良好,但在实时服务器上运行不正常。
在实时服务器上,我在所有文件所在的网站根目录上创建了一个名为“phpmailer”的目录。“phpmailer”目录有 4 个文件:
- 类.phpmailer.php
- 类.smtp.php
- 凭证.php
- 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 {}
}
解决方案
你在你的 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';
添加异常类将帮助您处理错误并调试它们。
推荐阅读
- r - 计算从一等、二等和三等舱幸存的男性和女性乘客的分数
- python - 根据上下文更改背景图
- javascript - 我想将我的 highmap 制作为包含所有细节的谷歌地图。可能吗?
- sql - 仅在 Day 之间查找的 SQL 代码。不是日期
- javascript - 如何从Java中的下拉菜单中抓取相应的链接?
- c# - Entity Framework core 2.1 多对多选择查询
- r - 如何让箱线图给我这个数据框中的分组数据
- laravel - 这是以雄辩的方式嵌套 whereHas 查询的正确方法吗
- java - JDBC:根据范围内的用户输入将结果集转换为字符串
- linux - qt5 linux应用程序使用大内存