无法实例化邮件函数:PHPMailer错误

无法实例化邮件函数:PHPMailer错误,php,email,phpmailer,Php,Email,Phpmailer,我正在尝试创建一个联系人表单。我在互联网上搜索了如何发送电子邮件,他们总是说使用PHPMailer比mail()函数更好 联系人表单包括:姓名、电子邮件、评论和发送按钮 我只是遵循了这个教程:但它不起作用,因为当我已经安装了Composer时,我总是收到一个名为“无法实例化邮件函数”的错误 我已经安装了composer的证明: 以下是我在php标记中的代码: use PHPMailer\PHPMailer\PHPMailer; require 'C:\xampp\composer\vendor

我正在尝试创建一个联系人表单。我在互联网上搜索了如何发送电子邮件,他们总是说使用PHPMailer比mail()函数更好

联系人表单包括:姓名、电子邮件、评论和发送按钮

我只是遵循了这个教程:但它不起作用,因为当我已经安装了Composer时,我总是收到一个名为“无法实例化邮件函数”的错误

我已经安装了composer的证明:

以下是我在php标记中的代码:

use PHPMailer\PHPMailer\PHPMailer;
require 'C:\xampp\composer\vendor\autoload.php';

if(isset($_POST['send'])) {
    $em = $_POST['email'];
    $nm = $_POST['name'];
    $msg = $_POST['comments'];

    $mail = new PHPMailer();
    $mail->setFrom($em, $nm);
    $mail->addAddress('mygmail@gmail.com', 'Admin');
    $mail->Subject = 'Concern';
    $mail->isHTML(TRUE);
    $mail->Body = '$em';

    if(!$mail->send()) {
        echo $mail->ErrorInfo;
    }
}
谢谢你回答这个问题!这将是一个很大的帮助

更新:
composer.json的内容/文件:

{
“需要”:{
“phpmailer/phpmailer”:“^6.0”
}

}

而不是:
要求“C:\xampp\composer\vendor\autoload.php”

试试看:
require\uuuuuuu DIR\uuuuuuuuuuuuu/供应商/autoload.php'


这是假设/vendor是文档根目录的子目录。

如果您阅读几乎所有地方(包括在错误消息中)都链接的PHPMailer疑难解答指南,您会发现其中包含以及如何解决它。从那里复制:

这意味着您的PHP安装未配置为正确调用
mail()
函数(例如
sendmail\u path
未在
PHP.ini
中正确设置),或者您未安装和配置本地邮件服务器。要解决此问题,您需要执行以下一项或多项操作:

  • 安装本地邮件服务器(例如postfix)
  • 确保您的
    sendmail\u路径
    指向
    php.ini
    中的sendmail二进制文件(通常为
    /usr/sbin/sendmail
    )。请注意,在Ubuntu/Debian上,您可能在
    /etc/php5/mods中有多个
    .ini
    文件可用
    ,可能还有其他位置
  • 使用
    isSendmail()
    并在PHPMailer中设置sendmail二进制文件的路径(
    $mail->sendmail='/usr/sbin/sendmail';
  • 使用isSMTP()
并使用SMTP直接发送
这与如何加载composer的自动加载器无关。

当电子邮件被视为垃圾邮件时,某些托管服务会返回此错误。尝试使用与您的网站具有相同域的电子邮件地址。

我尝试过这样做,但它给了我错误:require(C:\xampp\htdocs\GGA/vendor/autoload.php):无法打开流:没有这样的文件或目录,require():无法打开required“C:\xampp\htdocs\GGA/vendor/autoload.php”(include_path='C:\xampp\php\PEAR')错误是什么?另外,请将composer.json文件的内容发布到composer.composer.json-{“require”:{“phpmailer/phpmailer”:“^6.0”}}我认为这里的问题是,可能您没有从命令行发出命令:composer require phpmailer/phpmailer,这需要(通常)从web目录的根目录执行。不过,我是这样做的。我使用cmd执行编写器require phpmailer/phpmailer。图像:。我应该重新开始安装作曲家吗?但我不知道如何卸载它。。。