【问题标题】:Why is PHPMailer class not included in file?为什么 PHPMailer 类不包含在文件中?
【发布时间】:2016-06-08 21:43:16
【问题描述】:

我已经编写了一些代码来发送电子邮件。现在我有多个使用 PHPMailer 发送电子邮件的脚本。所以我所做的是我在包含 PHPMailerAutoLoad.php 之后将所有 SMTP 设置写在一个文件中,但它仍然抛出错误“找不到类 PHPMailer”。

以下是 mailsetting.ph 的代码 sn-p,其中包含有关我的 SMTP 服务器的设置。

<?php
include("/../PHPMailer/PHPMailerAutoload.php");
$mail= new PHPMailer;
$mail->isSMTP();                                          
$mail->Host = 'smtp.gmail.com';                         
$mail->SMTPAuth = true;                     
$mail->Username = 'username';                    
$mail->Password = 'password';                                  
$mail->Port =465;
$mail->SMTPSecure = 'ssl';
$mail->From='info@vishalkhare.com';
$mail->FromName='Vishal Khare';
$mail->addReplyTo('info@vishalkhare.com', 'Information');
?>

它说“致命错误:在第 3 行的 mailsetting.php 中找不到类 'PHPMailer'”,这显然意味着 include 语句正在正确执行。但仍然不包括 PHPMailer 类。 我也尝试过包含 class.phpmailer.php 文件

<?php
include("../class.phpmailer.php");
include("../PHPMailer/PHPMailerAutoload.php");
?>

它仍然无法正常工作。请帮帮我,让我知道如何在文件中包含 PHPMailer 类?

附: - 它在 XAMPP 服务器上运行,但在我将代码移动到网络服务器时无法运行。一个godaddy Web服务器正好

【问题讨论】:

  • 我认为第3行需要改为:$mail= new PHPMailer();
  • @Tex 雅我明白。但是还是不行
  • 将第 3 行更改为 $mail= new PHPMailer(); 后出现什么错误?
  • 将第 2 行更改为 require("/../PHPMailer/PHPMailerAutoload.php"); 并告诉我们您得到了什么结果。
  • @Tex 同样的错误。看到它在 XAMPP 服务器上工作。那么你认为它与godaddy所在的服务器有关吗?像一些缺少的依赖项或类似的东西?

标签: php html email phpmailer filepath


【解决方案1】:

问题不在于加载 PHPMailAutoLad。不幸的是,Godaddy 不支持 gmail、yahoo、aol、live、hotmail 等的电子邮件,如果您使用的是 linux cPanel 托管面板,请在您的 php 文件中进行这些更改

$mail->Host = 'localhost';
$mail->Port = 25;  
$mail->ssl = false;
$mail->authentication = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多