|
本文所使用的是Thinkphp 2.1版和 phpMailer 5.1版。(后者建議您直接從本博下載,因?yàn)槲覀儾荒鼙WC下面的代碼在所有版本的phpMailer中都能正常運(yùn)行)
下面是具體步驟:
第一步、添加phpMailer類庫
點(diǎn)擊此處下載
將下載后的文件解壓,將phpMail目錄移動(dòng)至Thinkphp目錄中的Vendor內(nèi)。(請(qǐng)確保class.phpmailer.php文件就在ThinkphpVendorphpMailerclass.phpmailer.php)
第二步、添加發(fā)送郵件函數(shù)
在項(xiàng)目目錄中的Common文件夾中的common.php文件(如果沒有請(qǐng)創(chuàng)建)添加如下代碼:
復(fù)制代碼 代碼如下:
<?php
/**********
* 發(fā)送郵件 *
**********/
function SendMail($address,$title,$message)
{
vendor('phpMailer.class#phpMailer');
$mail=new phpMailer();
// 設(shè)置phpMailer使用SMTP服務(wù)器發(fā)送Email
$mail->IsSMTP();
// 設(shè)置郵件的字符編碼,若不指定,則為'UTF-8'
$mail->CharSet='UTF-8';
// 添加收件人地址,可以多次使用來添加多個(gè)收件人
$mail->AddAddress($address);
// 設(shè)置郵件正文
$mail->Body=$message;
// 設(shè)置郵件頭的From字段。
$mail->From=C('MAIL_ADDRESS');
// 設(shè)置發(fā)件人名字
$mail->FromName='LilyRecruit';
// 設(shè)置郵件標(biāo)題
$mail->Subject=$title;
// 設(shè)置SMTP服務(wù)器。
$mail->Host=C('MAIL_SMTP');
// 設(shè)置為“需要驗(yàn)證”
$mail->SMTPAuth=true;
// 設(shè)置用戶名和密碼。
$mail->Username=C('MAIL_LOGINNAME');
$mail->Password=C('MAIL_PASSWORD');
// 發(fā)送郵件。
return($mail->Send());
}
?>
第三步、配置郵箱信息
編輯Conf目錄下的config.php,在return array添加如下內(nèi)容
復(fù)制代碼 代碼如下:
'MAIL_ADDRESS'=>'xxx@126.com', // 郵箱地址
'MAIL_SMTP'=>'smtp.126.com', // 郵箱SMTP服務(wù)器
'MAIL_LOGINNAME'=>'xxx', // 郵箱登錄帳號(hào)
'MAIL_PASSWORD'=>'xxx', // 郵箱密碼
其中的郵箱登錄帳號(hào)可能需要包括@后面的內(nèi)容,請(qǐng)自行嘗試^_^
第四步、在Action中發(fā)送郵件
由于Thinkphp會(huì)自動(dòng)加載common.php中的函數(shù),所以在需要發(fā)送郵件的時(shí)候,只需要使用如下代碼即可。
SendMail("xxx@xxx.com","郵件標(biāo)題","郵件正文");
至此,本教程已經(jīng)結(jié)束。撒花~~~
歡迎成功配置的同學(xué)SendMail("dreamrunner@foxmail.com","我也會(huì)用Thinkphp發(fā)送郵件啦","哇啦哇啦~~");
還有一些說明
如果郵件正文中需要換行怎么辦呢?其實(shí),最簡單的方法是――
SendMail("xxx@xxx.com","郵件標(biāo)題","郵件正文
我換行啦~~!");
QQ郵箱(含foxmail)和網(wǎng)易的126、163都測(cè)試成功。因?yàn)榻谠L問GMail比較吃力,所以沒有測(cè)試。聽說GMail要求必須使用SSL,有這方面需要的同學(xué)自行谷歌百度phpMailer的方法。
php技術(shù):ThinkPHP利用PHPMailer實(shí)現(xiàn)郵件發(fā)送實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。