当前位置: 首页 > 工具软件 > PHPMailer > 使用案例 >

PHPMailer的使用

吕淮晨
2023-12-01

                                                                    PHPMailer的使用
1、需要php扩展 sockets,openssl

  •     sockets 在php的配置php.ini中去除extension=php_sockets.dll这一行的注释,然后重启服务器
  •     openssl 该扩展PHP默认打开
  •     注:PHP扩展下载的地址 http://pecl.php.net/

2、在github上下载PHPMail类

3、邮箱授权码的获取 地址:https://jingyan.baidu.com/article/6d704a133a245f28db51caf5.html

  •         打开自己的qq邮箱 => 点击 [设置] 按钮 => 选择 [账户] =>
  •         往下拉 找到 [POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务] =>
  •         选择 POP3/SMTP服务 或者 IMAP/SMTP服务 => 点击 [开启] =>
  •         验证密保 用绑定qq的手机号码 发送内容[配置邮件客户端] 到 [1069070069] =>
  •         发送成功的话 点击 [我已发送] => 获取到[邮箱授权码]

4、把下载好的PHPMailer放到自己的PHP项目中:

  •     我使用的是yaf框架,我把下载好的 Exception.php,OAuth.php,PHPMailer.php,POP3.php,SMTP.php放在 \library\PHPMailer\PHPMailer 目录下

5、PHP代码

<?php
use PHPMailer\PHPMailer\PHPMailer;
class TestController extends Rest{
    public function sendAction(){
        // 引入PHPMailer的核心文件
        //require_once("PHPMailer/class.phpmailer.php");
        //require_once("PHPMailer/class.smtp.php");

        // 实例化PHPMailer核心类
        $mail = new PHPMailer();    //不需要引入文件,直接使用yaf的自动加载机制加载目录 \library\PHPMailer\PHPMailer 下的所有 php 文件
        // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
        $mail->SMTPDebug = 1;
        // 使用smtp鉴权方式发送邮件
        $mail->isSMTP();
        // smtp需要鉴权 这个必须是true
        $mail->SMTPAuth = true;
        // 链接qq域名邮箱的服务器地址
        $mail->Host = 'smtp.qq.com';
        // 设置使用ssl加密方式登录鉴权
        $mail->SMTPSecure = 'ssl';
        // 设置ssl连接smtp服务器的远程服务器端口号
        $mail->Port = 465;
        // 设置发送的邮件的编码
        $mail->CharSet = 'UTF-8';
        // 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
        $mail->FromName = 'abcdefg';
        // smtp登录的账号 QQ邮箱即可
        $mail->Username = '发送的qq号@qq.com';
        // smtp登录的密码 使用生成的授权码
        $mail->Password = 'SMTP授权码';
        // 设置发件人邮箱地址 同登录账号
        $mail->From = '发送的qq号@qq.com';
        // 邮件正文是否为html编码 注意此处是一个方法
        $mail->isHTML(true);    //html
        // 设置收件人邮箱地址
        $mail->addAddress('接收的qq号@qq.com');
        // 添加多个收件人 则多次调用方法即可
        $mail->addAddress('接收的qq号@qq.com');
        // 添加该邮件的主题
        $mail->Subject = '标题是什么';
        // 添加邮件正文
        $mail->Body = '<h1>Hello World</h1><a style="color:blue" href="https://jingyan.baidu.com/article/6d704a133a245f28db51caf5.html">点击</a>';
        // 为该邮件添加附件
        $mail->addAttachment( './aaa.txt' );
        // 发送邮件 返回状态
        if($mail->send()){
            echo 'Success';
        }else{
            echo 'Error';
        }
    }
}

6、注意:其他的没什么,这里就是要引入PHPMailer.php文件。

  •     使用require_once()引入,还是使用php的框架自动加载,看哪种方便用哪种吧。

   

 类似资料: