首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从PHPMailer编写器创建PHPMailer对象实例

无法从PHPMailer编写器创建PHPMailer对象实例
EN

Stack Overflow用户
提问于 2019-12-28 05:55:06
回答 1查看 553关注 0票数 2

嗨,我目前正在工作的一个项目,其中有一个忘记密码系统。我决定使用PHPMailer向用户发送重置密码电子邮件,我通过Composer安装了它,它现在在供应商文件夹中。但是,在实现示例代码之后,PHP会抛出一个错误:

代码语言:javascript
复制
Notice: Undefined variable: mail in /opt/lampp/htdocs/capstone-admin/process/loginFunctions.php on line 98

Fatal error: Uncaught Error: Call to a member function isSMTP() on null in /opt/lampp/htdocs/capstone-admin/process/loginFunctions.php:98 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/capstone-admin/process/loginFunctions.php on line 98

下面是我在loginFunctions.php中代码的一部分:

代码语言:javascript
复制
<?php 
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;

    require __DIR__. '/../vendor/autoload.php';
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = 'ssl';
    // More codes ......
?>

我的目录结构是:

更新

  1. ,我试着搜索关于错误的常见堆栈溢出问题,甚至查看youtube视频,但是到目前为止没有运气!任何帮助都会被困数天,
  2. 感谢来自评论的帮助,但是到目前为止,$mail = new PHPMailer();提供了一个不吉利的图像,显示$mail = new PHPMailer();出现后的调试屏幕截图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-28 14:08:25

假设它是正确的vendor/autoload.php (请参阅内联注释):

  • 它读取的是new PHPMailer而不是new PHPMailer() --与此不同的是,代码片段
  • 看起来也很奇怪,而$mail则是未知的。在$mail=之间可能存在一些不可见的控制字符。如果它转储了什么,那么很可能是var_dump($mailÂ);

如果不是那样的话.

运行composer dump-autoload --verbose.的

  • 尝试

为了抛出/捕获异常,请构造类似于以下内容:

代码语言:javascript
复制
<?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;

    // relative vs. absolute path sometimes make a difference.
    require __DIR__. '/../vendor/autoload.php';
    // require '../vendor/autoload.php';

    try {
        $mail = new PHPMailer(true);
        $mail->isSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
    } catch (Exception $e) {
        die($e->getMessage());
    }
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59508502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档