报错
SMTP connect() failed
thinkphp框架使用PHPmailer发送邮件失败提示这么个错误

网上找说要配置安装socket,openssl扩展才能解决
但是本人的PHP没用配置这个

再就找到这个方法确实可行
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;
不用ssl方式并且用587端口
目前在tp5框架,qq浏览器上能实现发送
原文链接
https://www.cnblogs.com/tdalcn/p/8952518.html
源码

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

function mailto($to,$title,$content){
        $mail = new PHPMailer(true);

        try {
            //Server settings

            $mail->CharSet = 'UTF-8';                 //设置邮箱发送的编码格式
            $mail->SMTPDebug = 0;                      //是否开启debug模式
            $mail->isSMTP();                                            //使用 SMTP
            $mail->Host       = 'smtp.qq.com';                     //设置服务器发送地址
           $mail->SMTPAuth   = true;                                   //是不是自动发送
            $mail->Username   = '**************@qq.com';                     //邮箱号码
            $mail->Password   = '**************';                               //邮箱密码(qq邮箱是14位的授权码)
            $mail->SMTPSecure = 'tls';                //使用发送的方式
            $mail->Port       = 587;                                    //TCP 端口,ssl用465的多,tls用587还不错

            //Recipients
            $mail->setFrom('**********@qq.com', '程序员');//(发送人邮箱,发送人)
            $mail->addAddress($to);     //Add a recipient//(目标邮箱)


            //Content
            $mail->isHTML(true);//是否发送html文件
            $mail->Body    = $content;                                  //设置发送内容
            $mail->Subject = $title;										//设置发送标题

            return $mail->send();				
        } catch (Exception $e) {
            echo '邮件发送失败: ', $mail->ErrorInfo;
    //        exception($mail->ErrorInfo,1001);
        }
}
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐