相信很多同學都用過thinkphp,而thinkphp這個框架本身也有類別庫,這篇文章我們來講講thinkphp怎麼使用外部PHPMailer類庫。
方法一:
1. 下載PHPmailer並解壓縮到ThinkPHP\Extend\Vendor資料夾下
#2. 用ThinkPHP自帶的Vendor方法載入第三方類別庫
#3. 配置相關參數.
4.為了方便隨意調用, 在common.php創建一個發送郵件的函數, 之後就可以調用此函數發送郵件了
/** * 邮件发送 */ function sendMail(){ // 载入邮件发送类库 Vendor('PHPMailer.PHPMailerAutoload'); $mail = new PHPMailer; $mail->isSMTP(); //设置PHPMailer使用SMTP服务器发送Email $mail->Host = 'smtp.163.com'; //指定SMTP服务器 可以是smtp.126.com, gmail, qq等服务器 自行查询 $mail->SMTPAuth = true; $mail->CharSet='UTF-8'; //设置字符集 防止乱码 $mail->Username = 'username@163.com'; //发送人的邮箱账户 $mail->Password = 'xxxxxxxxxx'; //发送人的邮箱密码 $mail->Port = 25; //SMTP服务器端口 $mail->From = 'user@admin.com'; //发件人邮箱地址 $mail->FromName = '在路上'; //发件人名称 $mail->addAddress('guest@test.com'); // 收件人邮箱地址 此处可以发送多个 $mail->WordWrap = 50; // 换行字符数 $mail->isHTML(true); // 设置邮件格式为HTML $mail->Subject = '青岛XXX'; //邮件标题 $mail->Body = '尊敬的先生/女士:<br/>非常抱歉,您接受到这封邮件是因您的好友邀请您加入我们的CRM系统体验当中,请点击以下链接注册账户<a href=####>######</a><br/>如您没有相关意向,请忽略'; if(!$mail->send()) { echo '邮件发送失败.'; echo '错误信息: ' . $mail->ErrorInfo; } else { echo '邮件发送成功'; } }
定義好函數之後,如果想發送郵件,直接呼叫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檔案寫入如下程式碼:
<br/>
第三步在ThinkPHP,conf.php檔案寫入如下程式碼:
注意:以下是的我自己QQ郵箱的測試的,每個郵箱參數不同,具體以郵箱為準,qq郵箱的stmp需要自己到郵件信箱開啟的。
returnarray( //'配置项'=>'配置值' 'MAIL_ADDRESS'=>'799783009@qq.com', // 邮箱地址 'MAIL_LOGINNAME'=>'799783009@qq.com', // 邮箱登录帐号 'MAIL_SMTP'=>'smtp.qq.com', // 邮箱SMTP服务器 'MAIL_PASSWORD'=>'******', // 邮箱密码 'SHOW_PAGE_TRACE'=>true, );
第四步 剩下使用了。在ThinkPHP,IndexAction.class.php檔案寫入如下程式碼:
// 本类由系统自动生成,仅供测试用途 classIndexAction extendsAction { publicfunctionindex(){ if(!empty($_POST['title']) && !empty($_POST['content'])){ if(SendMail("597417106@qq.com",$_POST['tile'],$_POST['content'])) echo'发送成功!'; else echo'发送失败'; } $this->assign('title','测试标题'); $this->display(); } }
好了,就這麼簡單的
方法二算是一個標準的方法了,整體都放到thinkphp類別了,小編推薦用第二種方案。
php利用smtp類別輕鬆的發送電子郵件
當你還在糾結php內建的mail()函數不能發送郵件時,那麼你現在很幸運,此時的這篇文章可以幫助到你!
php利用smtp類別來寄電子郵件真是屢試不爽,我用過很久了,基本上沒出過問題。本部落格後台,當部落客回覆留言時候,會自動給網友發一封有新回覆提示的郵件也是用的本文這個方法實現的。
smtp類別發送郵件的方法其實很簡單,也很穩定,類別是別人已經寫好的了,你只要呼叫就行了。幾行簡單的配置就能發郵件,是不是很期待的試試看!
以下是核心程式碼:
<?php require_once "email.class.php"; //******************** 配置信息 ******************************** $smtpserver = "smtp.126.com";//SMTP服务器 $smtpserverport =25;//SMTP服务器端口 $smtpusermail = "new2008oh@126.com";//SMTP服务器的用户邮箱 $smtpemailto = $_POST['toemail'];//发送给谁 $smtpuser = "new2008oh";//SMTP服务器的用户帐号 $smtppass = "您的邮箱密码";//SMTP服务器的用户密码 $mailtitle = $_POST['title'];//邮件主题 $mailcontent = "<h1 id="POST-content">".$_POST['content']."</h1>";//邮件内容 $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件 //************************ 配置信息 **************************** $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = false;//是否显示发送的调试信息 $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype); echo "<div style='width:300px; margin:36px auto;'>"; if($state==""){ echo "对不起,邮件发送失败!请检查邮箱填写是否有误。"; echo "<a href='index.html'>点此返回</a>"; exit(); } echo "恭喜!邮件发送成功!!"; echo "<a href='index.html'>点此返回</a>"; echo "</div>"; ?>
以上就是 ThinkPHP使用PHPMailer傳送郵件的範例兩種例子了,更多相關請到PHP中文網搜尋~
相關推薦:
#以上是ThinkPHP使用PHPMailer發送郵件的例子的詳細內容。更多資訊請關注PHP中文網其他相關文章!

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版