原因是因為阿里雲把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 = '456@qq.com'; //smtp登錄的賬號 $mail->Password = 'asdfssdfsdf'; //smtp登錄的密碼 使用生成的授權碼16位 $mail->From = '456@qq.com'; //設置發件人郵箱地址 同登錄賬號 $mail->isHTML(true); //郵件正文是否為html編碼 $mail->addAddress($user); //設置收件人郵箱地址,要發送多個則多次調用方法即可 $mail->Subject = 'XXX'; //添加該郵件的主題 $mail->Body = "XXX"; //添加郵件正文 //發送郵件 返回狀態 return $mail->send(); } var_dump(emailTo('123@qq.com','123'));
以上代碼來自互聯網,本人根據自己的需要有稍加修改,讀者也可根據需要自行修改。需要完整源碼聯系我