使用 PHPMailer 配合 QQ邮箱 发送邮件

安装

github

composer require phpmailer/phpmailer
// 开启php_openssl以及php_sockets

程序

<?php
//require_once './vendor/autoload.php';
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
if (isset($_POST['msg'])) {
    sendmail($_POST['msg']);
}
function sendmail($body = '')
{
    if (empty($body)) {
        return false;
    }
    try {
        $sendmail         = '[email protected]'; //发件人邮箱
        $sendmailpswd     = "jvqdkdyerwgtgded"; //客户端授权密码,而不是邮箱的登录密码!
        $send_name        = 'LXX'; // 设置发件人信息,如邮件格式说明中的发件人,
        $toemail          = '[email protected]'; //定义收件人的邮箱
        $to_name          = 'LXXback'; //设置收件人信息,如邮件格式说明中的收件人
        $mail             = new PHPMailer(true); // Passing `true` enables exceptions
        $mail->SMTPDebug  = 0;
        $mail->CharSet    = "utf8"; // 编码格式为utf8,不设置编码的话,中文会出现乱码
        $mail->Host       = "smtp.qq.com"; // 发送方的SMTP服务器地址
        $mail->SMTPAuth   = true; // 是否使用身份验证
        $mail->Username   = $sendmail; //// 发送方的
        $mail->Password   = $sendmailpswd; //客户端授权密码,而不是邮箱的登录密码!
        $mail->SMTPSecure = "ssl"; // 使用ssl协议方式
        $mail->Port       = 465; //  qq端口465或587)
        $mail->isSMTP(); // 使用SMTP服务
        $mail->isHTML(true);
        $mail->setFrom($sendmail, $send_name); // 设置发件人信息,如邮件格式说明中的发件人,
        $mail->addAddress($toemail, $to_name); // 设置收件人信息,如邮件格式说明中的收件人,
        $mail->addReplyTo($sendmail, $send_name); // 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
        //$mail->addCC("[email protected]");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("[email protected]");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->Subject = "ceshi"; // 邮件标题
        $mail->Body    = $body; // 邮件正文
        $mail->send();
        //echo 'Message has been sent';
    } catch (Exception $e) {
        //echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
    }
}