欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SMTP -> ERROR: Failed to connect to server: Connection timed out (110)

程序员文章站 2022-06-14 09:45:59
...

博主在上线登录邮箱验证时遇到这个报错 , 查了好长时间 这个文章比较靠谱 点击查看
但是也没解决


解决

本地 : 注释 $mail->SMTPSecure = ‘ssl’ 这一项,并设置 mail->Port = 25 端口为 25


上线 ::开启 $mail->SMTPSecure = ‘ssl’ 这一项,并设置 mail->Port = 465 端口为 465


贴上函数

*发送邮件方法
 *@param $to:接收者 $title:标题 $content:邮件内容
 *@return bool true:发送成功 false:发送失败
 */
function sendMail($to,$title,$content){
    //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告
    require_once("./PHPMailer_5.2.2/class.phpmailer.php"); 
    require_once("./PHPMailer_5.2.2/class.smtp.php");
    $mail = new PHPMailer();//实例化PHPMailer核心类
     $mail->SMTPDebug = 1;//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
    $mail->isSMTP();//使用smtp鉴权方式发送邮件
    $mail->SMTPAuth=true;//smtp需要鉴权 这个必须是true
    $mail->Host = 'smtp.qq.com';//链接qq域名邮箱的服务器地址
    //$mail->SMTPSecure = 'ssl';//设置使用ssl加密方式登录鉴权
    $mail->Port = 25;//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
    $mail->CharSet = 'UTF-8';//设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
    $mail->FromName = '欢迎';//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
    $mail->Username ='[email protected]';//smtp登录的账号 这里填入字符串格式的qq号即可
    $mail->Password = '*******';//smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码)【非常重要:在网页上登陆邮箱后在设置中去获取此授权码】
    $mail->From = '[email protected]';//设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
    $mail->isHTML(true);//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
    $mail->addAddress($to);//设置收件人邮箱地址
    $mail->Subject = $title;//添加该邮件的主题
    $mail->Body = $content;//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
    //简单的判断与提示信息
    if($mail->send()) {
        return true;
    }else{
        return false;
    }
}

上一篇: Oracle笔记_基础

下一篇: iOS AOP实战