报错
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);
}
}