PHP 調用qq郵箱接口


html代碼

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
    function yx(){
        $.ajax({
            type:"post",
            url:"./mailbox.php",
            data:{},
            jsonType:"json",
            success:function(mag){
            if (mag==1) {
            alert('發送成功');
            }else{
            alert(mag);
            }
            }
        })
    }
</script>
    <!-- 點擊觸發yx方法調用php發送郵件 -->
<a href="javascript:;" onclick="yx()">郵箱</a>

</body>
</html>

PHP代碼如下

<?php

function sendMail($to,$title,$content){
    //引入PHPMailer的核心文件 使用require_once包含避免出現PHPMailer類重復定義的警告
    require_once("./class.phpmailer.php"); 
    require_once("./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 = 465;//設置ssl連接smtp服務器的遠程服務器端口號,以前的默認是25,但是現在新的好像已經不可用了 可選465或587
    $mail->CharSet = 'UTF-8';//設置發送的郵件的編碼 可選GB2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
    $mail->FromName = '冷晨';//設置發件人姓名(昵稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
    $mail->Username ='12059991@qq.com';//smtp登錄的賬號 這里填入字符串格式的qq號即可
    $mail->Password = '你自己的授權碼';//smtp登錄的密碼 使用生成的授權碼(就剛才叫你保存的最新的授權碼)【非常重要:在網頁上登陸郵箱后在設置中去獲取此授權碼】
    $mail->From = '12059991@qq.com';//設置發件人郵箱地址 這里填入上述提到的“發件人郵箱”
    $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;
    }
}
date_default_timezone_set('PRC');
header("Content-Type:text/html;charset=utf-8");
$flag = sendMail('12059991@qq.com','測試','測試郵件');
if($flag){
    echo "發送郵件成功!";
}else{
    echo "發送郵件失敗!";
}

?>

 

然后qq郵箱的設置

 

需要把這兩個開啟  授權碼也是在這里獲取

 

 

然后php需要的兩個文件

class.phpmailer.php和class.smtp.php下載地址

鏈接:https://pan.baidu.com/s/1nNeCUgV8poWbCVVh2Yb7Qw
提取碼:d0oq 

 

然后注意環境需要開啟ssl

1.打開php配置文件php.ini;

2.找到;extension=php_openssl.dll,去掉前面的分號;如果不存在則加入此項;

3.將php根目錄下的ssleay32.dll和libeay32.dll文件,以及php/ext下的php_openssl.dll 這三個文件復制,然后粘貼到:C:/WINDOWS/system32文件夾下;

4.重啟web服務器
--------------------- 
按照以上操作的,還是報錯

使用phpStudy配置SSL支持Https

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM