原因是因为阿里云把25端口给禁用了,所以,普通方式发送不了,解决办法就是在阿里云安全组中把465端口打开,然后再才能发送邮件。亲测成功,贴出引用代码
function emailTo($user,$code){ //引入PHPMailer的核心文件 include_once './class.phpmailer.php'; include_once './class.smtp.php'; //实例化PHPMailer核心类 $mail = new PHPMailer(); //$mail->SMTPDebug = 1; //是否启用smtp的debug进行调试 $mail->isSMTP(); //使用smtp鉴权方式发送邮件 $mail->SMTPAuth = true; //smtp需要鉴权 这个必须是true $mail->Host = 'smtp.qq.com'; //链接qq域名邮箱的服务器地址 $mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权 $mail->Port = 465; //设置ssl连接smtp服务器的远程服务器端口号 $mail->CharSet = 'UTF-8'; //设置发送的邮件的编码 $mail->FromName = 'XXX'; //设置发件人昵称 $mail->Username = '[email protected]'; //smtp登录的账号 $mail->Password = 'asdfssdfsdf'; //smtp登录的密码 使用生成的授权码16位 $mail->From = '[email protected]'; //设置发件人邮箱地址 同登录账号 $mail->isHTML(true); //邮件正文是否为html编码 $mail->addAddress($user); //设置收件人邮箱地址,要发送多个则多次调用方法即可 $mail->Subject = 'XXX'; //添加该邮件的主题 $mail->Body = "XXX"; //添加邮件正文 //发送邮件 返回状态 return $mail->send(); } var_dump(emailTo('[email protected]','123'));
以上代码来自互联网,本人根据自己的需要有稍加修改,读者也可根据需要自行修改。需要完整源码联系我