致命错误:找不到类“PHPMailer”
- 我试过了:
include_once('C:\Inetpub\wwwroot\php\PHPMailer\PHPMailerAutoload.php');
致命错误:在第 151 行的 C:\Inetpub\wwwroot\php\index.php 中找不到类“PHPMailer”
我将 放在与我的脚本相同的目录中。PHPMailerAutoload.php
有人可以帮我这个吗?
include_once('C:\Inetpub\wwwroot\php\PHPMailer\PHPMailerAutoload.php');
致命错误:在第 151 行的 C:\Inetpub\wwwroot\php\index.php 中找不到类“PHPMailer”
我将 放在与我的脚本相同的目录中。PHPMailerAutoload.php
有人可以帮我这个吗?
所有的答案现在都过时了。大多数最新版本(截至2018年2月)不再具有自动加载功能,PHPMailer应按如下方式初始化:
<?php
require("/home/site/libs/PHPMailer-master/src/PHPMailer.php");
require("/home/site/libs/PHPMailer-master/src/SMTP.php");
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxxx";
$mail->Password = "xxxx";
$mail->SetFrom("xxxxxx@xxxxx.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("xxxxxx@xxxxx.com");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
?>
这回答了avs099上面给出的扩展,对于那些仍然有问题的人:
1.确保您已安装php_openssl.dll(否则在线查找并安装);
2.转到您的 php.ini;查找扩展名 =php_openssl.dll启用它/取消注释
3.此时转到github和downland的最新版本:6.0。
4.将主副本解压缩到更适合您的路径中(我建议与调用文件相同的目录)
现在,将此代码复制到您的 foo-mailer 中.php并使用您的 gmail stmp 身份验证进行呈现。
require("/PHPMailer-master/src/PHPMailer.php");
require("/PHPMailer-master/src/SMTP.php");
require("/PHPMailer-master/src/Exception.php");
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP();
$mail->CharSet="UTF-8";
$mail->Host = "smtp.gmail.com";
$mail->SMTPDebug = 1;
$mail->Port = 465 ; //465 or 587
$mail->SMTPSecure = 'ssl';
$mail->SMTPAuth = true;
$mail->IsHTML(true);
//Authentication
$mail->Username = "foo@gmail.com";
$mail->Password = "*******";
//Set Params
$mail->SetFrom("foo@gmail.com");
$mail->AddAddress("bar@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
免责声明:上述代码的原始所有者是avs099,只有我的小输入。
请注意附加的:
a) (PHPMailer\PHPMailer) 命名空间:用于名称冲突解决所必需的。
b) (require(“/PHPMailer-master/src/Exception.php”);):avs099 的代码中缺少它,因此 aProgger 遇到的问题,你需要那一行来告诉邮件类 Exception 类所在的位置。