PHP 使用 phpmailer 发送电子邮件

phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

使用 composer 安装:

composer require phpmailer/phpmailer

发送之前需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的SMTP服务,大部分公共邮箱(163、qq等)为了安全默认是关闭的,我们就要在qq打开SMTP服务

实例

public function re_email() {
    $mail = new PHPMailer();
    $mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
    $mail->SMTPDebug = 0;                        // 调试模式输出
    $mail->isSMTP();                             // 使用SMTP

    $mail->Host = 'smtp.qq.com';                // SMTP服务器
    $mail->SMTPAuth = true;                      // 允许 SMTP 认证
    $mail->SMTPSecure = 'ssl';                    // 允许 TLS 或者ssl协议
    $mail->Port = 465;                             // 服务器端口 25 或者465 具体要看邮箱服务器支持
    $mail->Username = 'SMTP 用户名  即邮箱的用户名';      // SMTP 用户名  即邮箱的用户名
    $mail->Password = 'SMTP 密码';       // SMTP 密码  部分邮箱是授权码(例如qq邮箱)


    $mail->setFrom('xxxx@qq.com', 'Mailer');  //发件人邮箱,和名称
    $mail->addAddress('xxxx@qq.com', 'Joe');  // 收件人,和名称

    // 添加附件,可以添加多个
    $mail->addAttachment('C:/Users/Administrator/Downloads/5.jpg', 'meinv1.jpg');
    $mail->addAttachment('C:/Users/Administrator/Downloads/3.jpeg', 'meinv2.jpeg');
    // 添加附件,例子:$mail->addAttachment('../thumb-1.jpg', 'new.jpg');// 发送附件并且重命名
//        if (is_array($attachment)) {
//            foreach ($attachment as $file) {
//                is_file($file['filepath']) && $mail->AddAttachment($file['filepath'], $file['filename']);
//            }
//        }


    //$mail->addReplyTo('replyto@example.com', 'First Last');//回复地址
    //$mail->addCC('cc@example.com');                    //抄送
    //$mail->addBCC('bcc@example.com');                    //密送


    $mail->isHTML(true);// send as HTML
    $mail->Subject = "标题";//标题
    $mail->msgHTML("phpMailer 是一个非常强大的 php发送邮件类......"); //HTML内容转换
    return json(["success"=>$mail->send()]);
}

 

posted @ 2020-12-24 23:47  不睡  阅读(233)  评论(0编辑  收藏  举报