当前位置: 首页 > 知识库问答 >
问题:

如何在PHP中配置和运行PHPmailer

文嘉禧
2023-03-14

这个问题听起来可能很傻,但对我来说却很头痛。我正在使用AMPS。。。我需要在我的项目中实现邮件通知。我已经下载了PHPmailer rar文件并解压缩到我的项目文件夹中。它包含,*get_oauth_token.php*src-Exception.php-oauth.php-PHPMailer.php-POP3.php-SMTP.php我在那个文件夹中只得到了这个文件。

<?php 
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Load composer's autoloader
require 'vendor/autoload.php';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'user@example.com';                 // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
    $mail->addAddress('ellen@example.com');               // Name is optional
    $mail->addReplyTo('info@example.com', 'Information');
    $mail->addCC('cc@example.com');
    $mail->addBCC('bcc@example.com');

    //Attachments
    $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}
?>

这里我收到一条错误消息说,

警告:需要(供应商/autoload.php):未能打开流:第8行的C:\Program Files(x86)\Ampps\www\emailpro\email.php中没有这样的文件或目录

通过谷歌搜索,我知道通过composer我们可以下载课程。我也试过了。

我完全困惑了,请告诉我如何在项目中实施这个PHP编译器。

请帮助如何从头开始配置我已经谷歌了很多,我没有得到所需的答案。

共有1个答案

邵畅
2023-03-14

如果您不想安装composer,请使用此代码让php mailer工作。它在我的项目中起作用。您还可以删除不需要的代码部分,如附件。如果要隐藏调试代码错误和通知,请删除或注释此行$mail-

如需更多帮助,请访问此链接https://github.com/PHPMailer/PHPMailer

<?php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
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';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'user@example.com';                 // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
    $mail->addAddress('ellen@example.com');               // Name is optional
    $mail->addReplyTo('info@example.com', 'Information');


    //Attachments
    $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}`enter code here`

 类似资料:
  • 我使用这个命令运行我的spring应用程序-java-jar,但是当从IDE运行应用程序时,我需要添加运行配置,下面是显示我所添加内容的屏幕截图,但是它对我不起作用。

  • 我正在尝试使用Lutris在Linux Mint 20(Ulyana)上玩Nexon的Mabinogi。我以前用过Lutris玩Storm英雄,但没有太多的经验(或者在Linux上玩游戏)。Lutris网站上没有Mabinogi的安装程序,就像Storm英雄的安装程序一样,所以我只能靠自己来尝试解决所有的问题。 我从他们的网站上下载了Nexon Launcher安装程序。我将Lutris配置为在模

  • Mac os对我来说是新的。我最近在MAC OS上安装了MAMP。我已将我的php项目放入 应用程序/MAMP/htdocs 当我执行这个代码我得到的URL作为 因为网址说它使用8888端口,我不想在我的网址8888,因为我的项目有各种重定向。所以我尝试改变MAMP上的端口------ 优势-----imade它设置默认的apace和MySql端口 但是在ist之后,当我重新启动MAMP时,我找到

  • 问题内容: 我有一个像这样的样式表链接 在CSS内,我希望能够回显db输出的背景图像 我尝试将以下内容添加到页面的开头,但它只是将所有内容输出为html代码 我肯定这有问题,有人可以建议最好的做法吗? 提前致谢 问题答案: 将结尾更改为php的文件更改为由服务器运行,完成后就可以链接到该文件,就好像它是常规的css文件一样,并确保正确设置了标头代码并使用了该标头代码。文件顶部 更改: 至: 和该文

  • 我可以使用以下命令在Git Bash中运行Spring Bootjar: 我现在正在尝试用IntelliJ运行应用程序。运行配置包含以下内容: 当我运行应用程序在我的IDE我得到: IllegalStateException:缺少必需的加密配置属性:jasypt.encryptor.password 我尝试在我的系统环境变量、运行配置环境变量中设置的值,并直接在

  • 问题内容: 我有一个问题,我只能使用一个数据库,但我有多个服务器,希望它们为每个服务器使用不同的表名。 现在,我的班级配置为: 我希望能够使dev1服务器指向loader_queue_dev1表,例如dev2服务器指向loader_queue_dev2表。 有没有可以使用注释或不使用注释的方法? 我希望能够拥有一个单一的构建,然后在运行时使用诸如系统属性之类的东西来更改该表名。 问题答案: 对于H