PHP插件PHPMailer發(fā)送郵件功能
本文實(shí)例為大家分享了ThinkPHP3.2.3發(fā)送郵件的具體代碼,供大家參考,具體內(nèi)容如下
首先第一步 :在網(wǎng)上down了一個(gè)PHPMailer插件,下載解壓后,這里我們只需要用到其中兩個(gè)文件,如下圖所示:
將class.phpmailer.php和class.smtp.php兩個(gè)文件分別放置到
ThinkPHP/Library/Vendor/PHPMailer/class.phpmailer.php (注意大小寫哦)
ThinkPHP/Library/Vendor/PHPMailer/class.smtp.php
注意:現(xiàn)在放置的是thinkPHP默認(rèn)的第三方類庫目錄,如果在index.php定義了如define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); 那么文件放置的路徑要與之相同,免得出現(xiàn)class 'PHPMailer' not found情況。
2、創(chuàng)建用戶自定義函數(shù)文件Application/Home/Common/function.php,放置如下函數(shù):
/** * 功能:郵件發(fā)送函數(shù) * @param string $to 目標(biāo)郵箱 * @param string $subject 郵件主題(標(biāo)題) * @param string $to 郵件內(nèi)容 * @return bool true */ function sendMail($to, $subject, $content) { vendor('PHPMailer.class#smtp'); vendor('PHPMailer.class#phpmailer'); //注意這里的大小寫哦,不然會(huì)出現(xiàn)找不到類,PHPMailer是文件夾名字,class#phpmailer就代表class.phpmailer.php文件名 $mail = new PHPMailer(); // 裝配郵件服務(wù)器 if (C('MAIL_SMTP')) { $mail->IsSMTP(); } $mail->Host = C('MAIL_HOST'); //這里的參數(shù)解釋見下面的配置信息注釋 $mail->SMTPAuth = C('MAIL_SMTPAUTH'); $mail->Username = C('MAIL_USERNAME'); $mail->Password = C('MAIL_PASSWORD'); $mail->SMTPSecure = C('MAIL_SECURE'); $mail->CharSet = C('MAIL_CHARSET'); // 裝配郵件頭信息 $mail->From = C('MAIL_USERNAME'); $mail->AddAddress($to); $mail->FromName = C('MAIL_FROMNAME'); $mail->IsHTML(C('MAIL_ISHTML')); // 裝配郵件正文信息 $mail->Subject = $subject; $mail->Body = $content; // 發(fā)送郵件 if (!$mail->Send()) { return FALSE; } else { return TRUE; } }
3、上述函數(shù)中,用到C方法來加載了一些配置信息,所以我們得在配置文件里(默認(rèn)/Application/Home/Conf/config.php)加入如下配置信息:
<?php return array( //其他配置項(xiàng)省略...... // 配置郵件發(fā)送服務(wù)器 'MAIL_SMTP' => TRUE, 'MAIL_HOST' => 'smtp.163.com', //郵件發(fā)送SMTP服務(wù)器 'MAIL_SMTPAUTH' => TRUE, 'MAIL_USERNAME' => '123***@163.com', //SMTP服務(wù)器登陸用戶名 'MAIL_PASSWORD' => '123456abc', //SMTP服務(wù)器登陸密碼 'MAIL_SECURE' => 'tls', 'MAIL_CHARSET' => 'utf-8', 'MAIL_ISHTML' => TRUE, 'MAIL_FROMNAME' => '某某網(wǎng)站客戶', );
4、開始調(diào)用,假設(shè)通過網(wǎng)址/?m=home&c=index&a=send訪問,那我們相應(yīng)的在Application/Home/Controller/IndexController.class.php文件里加入方法,如下:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ } public function send(){ if(sendMail('vsiryxm@qq.com','你好!郵件標(biāo)題','這是一篇測試郵件正文!')){ echo '發(fā)送成功!'; } else{ echo '發(fā)送失??!'; } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php檢查日期函數(shù)checkdate用法實(shí)例
這篇文章主要介紹了php檢查日期函數(shù)checkdate用法,實(shí)例分析了php中checkdate函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03解決php-fpm.service not found問題的辦法
這篇文章主要給大家介紹了解決php-fpm.service not found問題的辦法,文中詳細(xì)介紹的解決這個(gè)問題的思路與過程,分享出來給大家,如果有同樣問題的朋友就不用到處找解決辦法了,下面來一起看看吧。2017-06-06利用PHP_XLSXWriter代替PHPExcel的方法示例
PHPExcel是一個(gè)處理Excel,CVS文件的開源框架,但不幸的是PHPExcel官方已不再維護(hù)了這個(gè)項(xiàng)目了,官方團(tuán)隊(duì)在github上又起了一個(gè)新項(xiàng)目,叫PhpSpreadsheet。那么這篇文章主要給大家介紹了關(guān)于利用PHP_XLSXWriter代替PHPExcel的方法示例,需要的朋友可以參考下。2017-07-07PHP 實(shí)現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換
這篇文章主要介紹了PHP 實(shí)現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換的相關(guān)資料,希望通過本文大家能幫助到大家,需要的朋友可以參考下2017-09-09PHP實(shí)現(xiàn)支持SSL連接的SMTP郵件發(fā)送類
這篇文章主要介紹了PHP實(shí)現(xiàn)支持SSL連接的SMTP郵件發(fā)送類,實(shí)例分析了php實(shí)現(xiàn)smtp郵件發(fā)送類的原理與技巧,以及支持SSL連接的方法,需要的朋友可以參考下2015-03-03WordPress開發(fā)中用于標(biāo)題顯示的相關(guān)函數(shù)使用解析
這篇文章主要介紹了WordPress開發(fā)中用于標(biāo)題顯示的相關(guān)函數(shù)使用解析,講解了single_cat_title函數(shù)和get_the_title函數(shù)和the_title函數(shù)的用法,需要的朋友可以參考下2016-01-01PHP 緩存實(shí)現(xiàn)代碼及詳細(xì)注釋
PHP緩存實(shí)現(xiàn),實(shí)現(xiàn)了apc和文件緩存,繼承Cache_Abstract即可實(shí)現(xiàn)調(diào)用第三方的緩存工具。參考shindig的緩存類和apc。2010-05-05微信 開發(fā)生成帶參數(shù)的二維碼的實(shí)例
這篇文章主要介紹了微信 開發(fā)生成帶參數(shù)的二維碼的實(shí)例的相關(guān)資料,這里詳細(xì)介紹該如何實(shí)現(xiàn)二維碼,需要的朋友可以參考下2016-11-11