PHPMailer的使用

                                                                    PHPMailer的使用
1、需要php扩展 sockets,openssl
    sockets 在php的配置php.ini中去除extension=php_sockets.dll这一行的注释,然后重启服务器
    openssl 该扩展PHP默认打开
    注:PHP扩展下载的地址 http://pecl.php.net/
2、在github上下载PHPMail类
    下载地址:https://github.com/PHPMailer/PHPMailer/
    依次点击:[Clone or download] => [Download ZIP]
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的框架自动加载,看哪种方便用哪种吧。
   

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/80337385
今日推荐