PHP郵箱發送驗證碼的配置


首先我們需要一個發送郵件的賬號,比如QQ號,

  我們先登錄QQ郵箱點擊設置里面配置smtp選項

  把關閉的pop3和smtp打開,這個過程需要綁定的手機發送短信,點擊發送之后然后頁面會彈出一個smtp的一大串的密碼,這個很需要

  記錄下來之后,就可以在我們的PHP中進行啪啪啪了

 1 //發送郵件
 2     public function email(){
 3         $email=input("post.email");//獲取收件人郵箱
 4         //return $email;
 5         $sendmail = 'xxxxxx@qq.com'; //發件人郵箱
 6         $sendmailpswd = "xxxxxxx"; //客戶端授權密碼,而不是郵箱的登錄密碼,就是手機發送短信之后彈出來的一長串的密碼
 7         $send_name = 'lh';// 設置發件人信息,如郵件格式說明中的發件人,
 8         $toemail = $email;//定義收件人的郵箱
 9         $to_name = 'hl';//設置收件人信息,如郵件格式說明中的收件人
10         $mail = new PHPMailer();
11         $mail->isSMTP();// 使用SMTP服務
12         $mail->CharSet = "utf8";// 編碼格式為utf8,不設置編碼的話,中文會出現亂碼
13         $mail->Host = "smtp.qq.com";// 發送方的SMTP服務器地址
14         $mail->SMTPAuth = true;// 是否使用身份驗證
15         $mail->Username = $sendmail;//// 發送方的
16         $mail->Password = $sendmailpswd;//客戶端授權密碼,而不是郵箱的登錄密碼!
17         $mail->SMTPSecure = "ssl";// 使用ssl協議方式
18         $mail->Port = 465;//  qq端口465或587)
19         $mail->setFrom($sendmail, $send_name);// 設置發件人信息,如郵件格式說明中的發件人,
20         $mail->addAddress($toemail, $to_name);// 設置收件人信息,如郵件格式說明中的收件人,
21         $mail->addReplyTo($sendmail, $send_name);// 設置回復人信息,指的是收件人收到郵件后,如果要回復,回復郵件將發送到的郵箱地址
22         $mail->Subject = "這里是郵件標題";// 郵件標題
23 
24         $code=rand(100000,999999);
25         session("code",$code);
26         //return $code."----".session("code");
27         $mail->Body = "郵件內容是 <b>您的驗證碼是:$code</b>,如果非本人操作無需理會!";// 郵件正文
28         //$mail->AltBody = "This is the plain text純文本";// 這個是設置純文本方式顯示的正文內容,如果不支持Html方式,就會用到這個,基本無用
29         if (!$mail->send()) { // 發送郵件
30          31             echo "Message could not be sent.";
32             echo "Mailer Error: " . $mail->ErrorInfo;// 輸出錯誤信息
33         } else {
34             return “發送成功”;
35         }
36     }

如果你就是直接的這樣寫那么你又會出現一系列的問題;

發送郵件我們需要一個擴展包隨便下一個phpmailer包;

我們需要里面的phpmailer.php,class.smtp.php兩個文件,放在extend文件下新建一個phpmailer文件夾下

phpmailer.php如果是class.phpmailer.php就把前面的Class去掉(我是在tp5框架)

分別在兩個文件里面加上命名空間use phpmailer\phpmailer;

不然會出現phpmailer not found 和 smtp not found

除此之外還要把phpmailer里面的最后一個方法繼承的Exception改成 \Exception

基本上直接就可以調用方法了,收到一份來自你自己的郵件;

 


免責聲明!

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



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