程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP利用PHPMailer實現郵件發送實現代碼

ThinkPHP利用PHPMailer實現郵件發送實現代碼

編輯:關於PHP編程

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版。(後者建議您直接從本博下載,因為我們不能保證下面的代碼在所有版本的PHPMailer中都能正常運行)

下面是具體步驟:

第一步、添加PHPMailer類庫

點擊此處下載
將下載後的文件解壓,將PHPMail目錄移動至ThinkPHP目錄中的Vendor內。(請確保class.phpmailer.php文件就在ThinkPHPVendorPHPMailerclass.phpmailer.php)

第二步、添加發送郵件函數

在項目目錄中的Common文件夾中的common.php文件(如果沒有請創建)添加如下代碼:
復制代碼 代碼如下:
<?php
/**********
 * 發送郵件 *
 **********/
function SendMail($address,$title,$message)
{
    vendor('PHPMailer.class#PHPMailer');
    $mail=new PHPMailer();
    // 設置PHPMailer使用SMTP服務器發送Email
    $mail->IsSMTP();
    // 設置郵件的字符編碼,若不指定,則為'UTF-8'
    $mail->CharSet='UTF-8';
    // 添加收件人地址,可以多次使用來添加多個收件人
    $mail->AddAddress($address);
    // 設置郵件正文
    $mail->Body=$message;
    // 設置郵件頭的From字段。
    $mail->From=C('MAIL_ADDRESS');
    // 設置發件人名字
    $mail->FromName='LilyRecruit';
    // 設置郵件標題
    $mail->Subject=$title;
    // 設置SMTP服務器。
    $mail->Host=C('MAIL_SMTP');
    // 設置為“需要驗證”
    $mail->SMTPAuth=true;
    // 設置用戶名和密碼。
    $mail->Username=C('MAIL_LOGINNAME');
    $mail->Password=C('MAIL_PASSWORD');
    // 發送郵件。
    return($mail->Send());
}
?>


第三步、配置郵箱信息

編輯Conf目錄下的config.php,在return array添加如下內容

復制代碼 代碼如下:
    'MAIL_ADDRESS'=>'[email protected]', // 郵箱地址
    'MAIL_SMTP'=>'smtp.126.com', // 郵箱SMTP服務器
    'MAIL_LOGINNAME'=>'xxx', // 郵箱登錄帳號
    'MAIL_PASSWORD'=>'xxx', // 郵箱密碼

其中的郵箱登錄帳號可能需要包括@後面的內容,請自行嘗試^_^
第四步、在Action中發送郵件
由於ThinkPHP會自動加載common.php中的函數,所以在需要發送郵件的時候,只需要使用如下代碼即可。
SendMail("[email protected]","郵件標題","郵件正文");

至此,本教程已經結束。撒花~~~

歡迎成功配置的同學SendMail("[email protected]","我也會用ThinkPHP發送郵件啦","哇啦哇啦~~");

還有一些說明

如果郵件正文中需要換行怎麼辦呢?其實,最簡單的方法是——

SendMail("[email protected]","郵件標題","郵件正文
我換行啦~~!");

QQ郵箱(含foxmail)和網易的126、163都測試成功。因為近期訪問GMail比較吃力,所以沒有測試。聽說GMail要求必須使用SSL,有這方面需要的同學自行谷歌百度PHPMailer的方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved