1.需要在qq郵箱獲取你的授權碼,獲取后才能用你的qq賬號發送郵件
2.使用 下載擴展包
composer require phpmailer/phpmailer
3.可以封裝,使用時自己調用
public function sendMail() { $toemail = '407489256@qq.com';//定義收件人的郵箱 $mail = new PHPMailer(); $mail->isSMTP();// 使用SMTP服務 $mail->CharSet = "utf8";// 編碼格式為utf8,不設置編碼的話,中文會出現亂碼 $mail->Host = "smtp.qq.com";// 發送方的SMTP服務器地址 $mail->SMTPAuth = true;// 是否使用身份驗證 $mail->Username = "407489256@qq.com";// 發送方的163郵箱用戶名,就是你申請163的SMTP服務使用的163郵箱</span><span style="color:#333333;"> $mail->Password = "qmxrsdsddjsjfj";// 發送方的郵箱密碼,注意用163郵箱這里填寫的是“客戶端授權密碼”而不是郵箱的登錄密碼!</span><span style="color:#333333;"> $mail->SMTPSecure = "ssl";// 使用ssl協議方式</span><span style="color:#333333;"> $mail->Port = 465;// 163郵箱的ssl協議方式端口號是465/994 $mail->setFrom("407489256@qq.com", "Mailer");// 設置發件人信息,如郵件格式說明中的發件人,這里會顯示為Mailer(xxxx@163.com),Mailer是當做名字顯示 $mail->addAddress($toemail, 'Wang');// 設置收件人信息,如郵件格式說明中的收件人,這里會顯示為Liang(yyyy@163.com) $mail->addReplyTo("407489256@qq.com", "Reply");// 設置回復人信息,指的是收件人收到郵件后,如果要回復,回復郵件將發送到的郵箱地址 //$mail->addCC("xxx@163.com");// 設置郵件抄送人,可以只寫地址,上述的設置也可以只寫地址(這個人也能收到郵件) //$mail->addBCC("xxx@163.com");// 設置秘密抄送人(這個人也能收到郵件) //$mail->addAttachment("bug0.jpg");// 添加附件 $mail->Subject = "這是一個測試郵件";// 郵件標題 $mail->Body = "郵件內容是 <b>您的驗證碼是:123456</b>,哈哈哈!";// 郵件正文 //$mail->AltBody = "This is the plain text純文本";// 這個是設置純文本方式顯示的正文內容,如果不支持Html方式,就會用到這個,基本無用 if (!$mail->send()) {// 發送郵件 echo "Message could not be sent."; echo "Mailer Error: " . $mail->ErrorInfo;// 輸出錯誤信息 } else { echo '發送成功'; } }
上述代碼我放在了extend下的文件夾tool下,這個位置你可以自己定義,只要使用時可以找到這個方法就可以了。
4.可以在你的控制器調用這個方法來使用發送郵件的方