国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

ThinkPHP使用PHPMailer發送郵件的例子

2024-09-09 15:20:19
字體:
來源:轉載
供稿:網友

PHPMailer是一個郵件發送插件了,我們可以把PHPMailer安裝包解壓到Vendor目錄中之后然后簡單的配置就可以發郵件了,下面來看一個例子.

最近一直在用ThinkPHP框架開發項目,一般進行用戶注冊的時候都會發送一封驗證郵件,驗證注冊,在這次做的CRM客戶管理系統中需要用到邀請注冊這個功能,團隊管理員注冊之后可通過郵件邀請團隊的其他人員進行注冊,如何給團隊人員發送郵件,很流行的一個郵件發送類庫就是PHPMailer.

1.下載PHPmailer并解壓到ThinkPHP\Extend\Vendor文件夾下

2.用ThinkPHP自帶的Vendor方法載入第三方類庫

3.配置相關參數.

4.為了方便隨意調用,在common.php創建一個發送郵件的函數,之后就可以調用此函數發送郵件了.

  1. /** 
  2.  * 郵件發送 
  3.  */ 
  4. function sendMail(){ 
  5.     // 載入郵件發送類庫 
  6.     Vendor('PHPMailer.PHPMailerAutoload'); 
  7.     $mail = new PHPMailer; 
  8.     $mail->isSMTP();        //設置PHPMailer使用SMTP服務器發送Email 
  9.     $mail->Host = 'smtp.163.com';   //指定SMTP服務器 可以是smtp.126.com, gmail, qq等服務器 自行查詢 
  10.     $mail->SMTPAuth = true; 
  11.     $mail->CharSet='UTF-8';     //設置字符集 防止亂碼 
  12.     $mail->Username = 'username@163.com';  //發送人的郵箱賬戶 
  13.     $mail->Password = 'xxxxxxxxxx';   //發送人的郵箱密碼 
  14.     $mail->Port = 25;   //SMTP服務器端口 
  15.     $mail->From = 'user@admin.com';            //發件人郵箱地址 
  16.     $mail->FromName = '在路上';                //發件人名稱 
  17.     $mail->addAddress('guest@test.com');      // 收件人郵箱地址 此處可以發送多個 
  18.     $mail->WordWrap = 50;                                 // 換行字符數 
  19.     $mail->isHTML(true);                                  // 設置郵件格式為HTML 
  20.     $mail->Subject = '青島XXX';       //郵件標題 
  21.     $mail->Body    = '尊敬的先生/女士:<br/>非常抱歉,您接受到這封郵件是因您的好友邀請您加入我們的CRM系統體驗當中,請點擊以下鏈接注冊賬戶<a href=####>######</a><br/>如您沒有相關意向,請忽略'
  22.     if(!$mail->send()) {  //開源軟件:Vevb.com 
  23.         echo '郵件發送失敗.'
  24.         echo '錯誤信息: ' . $mail->ErrorInfo; 
  25.     } else { 
  26.         echo '郵件發送成功'
  27.     } 

定義好函數之后,如果想發送郵件,直接調用 sendMail();

可把發送內容,發送標題,收件人全部設置為變量,例如:sendMail($body,$title,$recipient)  收件人可為數組的形式,在函數里面循環一下就搞定啦!!SMTP服務器以及發件人的一些配置可以寫到Conf\config.php文件中,直接C()方法調用即可。

方法二

第一步 先下載PHPMailer.class.php壓縮包,解壓后會有如下的三個文件:

1.class.pop3.php

2.class.smtp.php

3.PHPMailer.class.php

PHPMailer.class.php這個文件就是核心的文件,把這個文件放到ThinkPHP的擴展包下路徑如\下:ThinkPHP\Extend\Library

第二步 在ThinkPHP,common文件中新建一個common.php文件寫入如下代碼:

  1. functionSendMail($address,$title,$message
  2. import('ORG.Net.PHPMailer'); 
  3. $mail=newPHPMailer(); 
  4. // 設置PHPMailer使用SMTP服務器發送Email 
  5. $mail->IsSMTP(); 
  6. // 設置郵件的字符編碼,若不指定,則為'UTF-8' 
  7. $mail->CharSet='UTF-8'
  8. // 添加收件人地址,可以多次使用來添加多個收件人 
  9. $mail->AddAddress($address); 
  10. // 設置郵件正文 
  11. $mail->Body=$message
  12. // 設置郵件頭的From字段。 
  13. $mail->From=C('MAIL_ADDRESS'); 
  14. // 設置發件人名字 
  15. $mail->FromName='zyimm'
  16. // 設置郵件標題 
  17. $mail->Subject=$title
  18. // 設置SMTP服務器。 
  19. $mail->Host=C('MAIL_SMTP'); 
  20. // 設置為“需要驗證” 
  21. $mail->SMTPAuth=true; 
  22. // 設置用戶名和密碼。 
  23. $mail->Username=C('MAIL_LOGINNAME'); 
  24. $mail->Password=C('MAIL_PASSWORD'); 
  25. // 發送郵件。 
  26. return($mail->Send()); 

第三步 在ThinkPHP,conf.php文件寫入如下代碼.

注意:以下是的我自己QQ郵箱的測試的,每個郵箱參數不同,具體以郵箱為準,qq郵箱的stmp需要自己到郵箱開啟的.

  1. returnarray( 
  2. //'配置項'=>'配置值' 
  3. 'MAIL_ADDRESS'=>'799783009@qq.com'// 郵箱地址   
  4. 'MAIL_LOGINNAME'=>'799783009@qq.com'// 郵箱登錄帳號 
  5. 'MAIL_SMTP'=>'smtp.qq.com'// 郵箱SMTP服務器 
  6. 'MAIL_PASSWORD'=>'******'// 郵箱密碼 
  7. 'SHOW_PAGE_TRACE'=>true, 
  8. ); 

第四步 剩下使用了,在ThinkPHP,IndexAction.class.php文件寫入如下代碼:

  1. // 本類由系統自動生成,僅供測試用途 
  2. classIndexAction extendsAction { 
  3. publicfunctionindex(){ 
  4. if(!emptyempty($_POST['title']) && !emptyempty($_POST['content'])){ 
  5. if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content'])) 
  6. echo'發送成功!'
  7. else 
  8. echo'發送失敗'
  9. $this->assign('title','測試標題'); 
  10. $this->display(); 

好了,就這么簡單的,方法二算是一個標準的方法了,整體都放到thinkphp類中了,小編推薦使用第二種方案.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 增城市| 海林市| 汕头市| 都昌县| 邵武市| 文昌市| 綦江县| 樟树市| 沙田区| 上蔡县| 三亚市| 隆昌县| 山丹县| 武宁县| 于都县| 莱西市| 中阳县| 观塘区| 宜良县| 罗山县| 大余县| 方山县| 上饶市| 平罗县| 武乡县| 百色市| 桃园市| 交口县| 乌兰浩特市| 滦南县| 金门县| 深圳市| 桑植县| 阜康市| 红河县| 衢州市| 普定县| 沙田区| 凤山市| 凤山市| 张掖市|